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
1
2
3
4
5
6
7
8
9
10
11
12
[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

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

2 Resultados

  1. 10 de maio de 2018

    […] Como carregar ele na inicialização? Acesse Como usar o systemd para iniciar seu script/Aplicação no Debian […]

  2. 11 de julho de 2018

    […] Precisamos configurar também que playsmsd inicie durante o boot para isso vamos usar o systemd […]

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *