Ubuntu sunucusundan 14 sürüm 15'e yeni yükselttim. Yükseltme işleminden sonra çalışma komut dosyasını çalıştırırken sorun yaşadım ve systemd'nin yeni varsayılan olduğunu okudum. Linux uzmanı olmaktan uzaktayım, lütfen beni rahat bırak :-)
İşte başlangıç betiğimin önceleri şunlardı:
description "NZBGet upstart script"
setuid robert
setgid robert
start on runlevel [2345]
stop on runlevel [016]
respawn
expect fork
script
exec nzbget -D
end script
pre-stop script
exec nzbget -Q
end script
Sistem başlangıcına ve wiki sayfasına dayanarak, yeni systemd servis dosyamdakileri olabildiğince yakından eşlemek için orada verilen tabloları kullandım:
[Unit]
Description=NZBGet Service
[Service]
Type=forking
ExecStart=/usr/local/bin/nzbget -D
ExecStop=/usr/local/bin/nzbget -Q
Restart=on-failure
Bu dosya yer almaktadır /home/robert/.config/systemd/user/nzbget.service
. Hizmeti el ile başlatmak için yapıyorum:
$ systemctl --user start nzbget
Bu harika çalışıyor. Ancak, SSH oturumumdan çıkış yaptığımda, hizmet kapanıyor. Ayrıca, açılışta veya kullanıcı oturum açmada başlamaz. Bir başlangıç hizmeti olarak aynı şekilde davranmasını istiyorum: Önyüklemeden başlamasını, sürekli çalışmasını ve belirli bir kullanıcı olarak çalışmasını istiyorum.
Bu yapılandırmayı almak için ne yapmam gerekiyor?
systemctl enable
, bu ilk başta bana açık değildi. Ayrıca, etkinleştirme bana eksik bir[Install]
bölüm hakkında bazı uyarılar verdi . Bunu görmezden geldim, ancak açılışta başlama yeteneğini etkileyip etkilemeyeceğinden emin değilim.