Systemd ile Başlangıçta Betik Çalıştırmak

Amacınız basit olarak bir betiği başlangıçta çalıştırmak ve onu start/stop/restart gibi komutlarla kolayca yönetmek istiyorsanız aşağıdaki bilgiler işinize yarayabilir.

Örnek betik: /opt/bar/foo.rb

$ vim /opt/bar/foo.rb
while true
`touch /tmp/foo`
sleep 5
end
  • İlk olarak betik için servis dosyası açılır ve içerisi aşağıdaki gibi doldurulur:
$ vim /lib/systemd/system/foo.service
[Unit]
Description=foo
After=network.target

[Service]
WorkingDirectory=/opt/bar/foo.rb
ExecStart=/usr/bin/ruby /opt/bar/foo.rb

[Install]
WantedBy=multi-user.target

Yukarıdaki After=network.target network aktif olduktan sonra bu betik çalışmaya başlasın demektir. Diğer parametrelerin de değişken isimlerinden ne yaptığı anlaşılabilir.

  • Başlangıçta çalışması için aşağıdaki komut verilir:
$ systemctl enable foo.service
  • Mevcut oturumda çalıştırmak için:
$ systemctl start foo.service

Betik ayrıca service komutuyla da yönetilebilir.

$ service foo [start|stop|restart]

Daha fazlası için

comments powered by Disqus