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.