Como usar o systemd para iniciar seu script/Aplicação no Debian
Nas últimas distribuições Debian (9) é instalado por padrão systemd em vez de sysvinit como sistema de inicialização. Este artigo ilustra como usá-lo.
Para iniciar um script na inicialização, um arquivo de serviço deve ser criado no systemd.
Vou pegar como base o script de firewall que publiquei (Modelo simples e funcional de Firewall com iptables)
Vamos criar um arquivo de serviço para o nosso programa firewall. Crie como root um arquivo chamado rr-firewall.service no diretório /lib/systemd/system.
# vim /lib/systemd/system/rr-firewall.service
[Unit]
Description=Firewall
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/etc/init.d/rr-firewall start
ExecStop=/etc/init.d/rr-firewall stop
ExecReload=/etc/init.d/rr-firewall restart
[Install]
WantedBy=multi-user.target
Recarregue a nova definição do serviço:
# systemctl daemon-reload
Ative o novo serviço, e verifique se o mesmo foi ativado
# systemctl enable rr-firewall # systemctl list-unit-files | grep rr-firewall
Reinicie seu servidor e verifique se seu firewall foi carregado na inicialização.
# reboot
Após reboot, verifique se as regras de firewall foram carregadas
# /etc/init.d/rr-firewall status
Veja q nosso script de firewall foi carregado!
Você pode utilizar tabén os comandos:
# systemctl start rr-firewall # systemctl stop rr-firewall # systemctl restart rr-firewall # systemctl status rr-firewall
Agora é so usar a criatividade 😉
Dica de uma boa leitura sobre Systemctl:
How To Use Systemctl to Manage Systemd Services and Units
Muito bom. Deu certo aqui.
Quem sabe sabe man !
parabéns e muito obrigado pela sua contribuição, me ajudou demais.
Abraço