Acabei de atualizar do servidor Ubuntu 14 para a versão 15. Eu tive problemas para fazer meu script inicial funcionar após a atualização e li que systemd é o novo padrão. Estou longe de ser um especialista em linux, então por favor, vá com calma comigo :-)
Aqui está o que meu script inicial era antes:
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
Com base na página inicial do wiki do systemd , usei as tabelas fornecidas lá para mapear as coisas o mais próximo possível do meu novo arquivo de serviço systemd:
[Unit]
Description=NZBGet Service
[Service]
Type=forking
ExecStart=/usr/local/bin/nzbget -D
ExecStop=/usr/local/bin/nzbget -Q
Restart=on-failure
Este arquivo está localizado em /home/robert/.config/systemd/user/nzbget.service
. Para iniciar o serviço manualmente, eu tenho feito:
$ systemctl --user start nzbget
Isso funciona muito bem. No entanto, quando eu saio da minha sessão SSH, o serviço é encerrado. Além disso, ele não inicia na inicialização ou no login do usuário. Quero que ele se comporte da mesma forma que um serviço inicial: quero que ele inicie na inicialização, execute constantemente e como um usuário específico.
O que preciso fazer para obter essa configuração?
systemctl enable
comando, porém, isso não era óbvio para mim no começo. A ativação também me deu algum aviso sobre uma[Install]
seção ausente . Eu o ignorei, mas não tenho certeza se isso afetará sua capacidade de iniciar no momento da inicialização.