Como criar um serviço para ser executado em conjunto com o Linux
Requisitos
- Conhecimentos básicos de Linux
Introdução
Este tutorial mostra como criar um serviço para ficar executando em conjunto com o Linux e ainda quando o sistema for reiniciado o serviço também será iniciado.
Na maioria das vezes quando criamos um script em PHP, NodeJS, Python ou qualquer outra linguagem de programação, precisamos executar o script manualmente para que ele funcione, mas e se você quiser que o script seja executado em conjunto com o Linux, ou seja, quando o sistema for iniciado o script também será iniciado, e quando o sistema for reiniciado o script também será reiniciado.
Criando o arquivo de configuração do serviço e manipulando o serviço
Para criar o serviço, precisamos criar um arquivo de configuração para o serviço, o arquivo de configuração do serviço deve ser criado na pasta /etc/systemd/system/ e o nome do arquivo deve ser o nome do serviço com a extensão .service, por exemplo, se o nome do serviço for meu-servico, o nome do arquivo de configuração do serviço será meu-servico.service.
O conteúdo do arquivo de configuração do serviço deve ser o seguinte:
[Unit]
Description=Bot em PHP
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/usr/bin/php /var/www/html/meu-bot.php
[Install]
WantedBy=multi-user.targetOnde:
Descriptioné a descrição do serviço, que será exibida quando o comandosystemctl status meu-servicofor executado.Afteré o serviço que deve ser iniciado antes do serviço que estamos criando.StartLimitIntervalSecé o intervalo de tempo em segundos que o serviço será reiniciado.Typeé o tipo de serviço, no nosso caso ésimple.Restarté a política de reinício do serviço, no nosso caso éalways.RestartSecé o intervalo de tempo em segundos que o serviço será reiniciado.Useré o usuário que irá executar o serviço, no nosso caso é o usuárioroot.ExecStarté o comando que irá executar o serviço, no nosso caso é o comando/usr/bin/php /var/www/html/meu-bot.php. Note que não usando apenas o comandophp /var/www/html/meu-bot.phppois o comandophppode não estar noPATHdo usuárioroot, então é necessário usar o caminho completo do comandophp.WantedByé o serviço que deve ser iniciado após o serviço que estamos criando.
Iniciando o serviço
Para iniciar o serviço, execute o comando:
systemctl start meu-servicoVerificando o status do serviço
Para verificar o status do serviço, execute o comando:
systemctl status meu-servicoHabilitando o serviço para ser iniciado junto com o Linux
Para habilitar o serviço para ser iniciado junto com o Linux, execute o comando:
systemctl enable meu-servicoDesabilitando o serviço para ser iniciado junto com o Linux
Para desabilitar o serviço para ser iniciado junto com o Linux, execute o comando:
systemctl disable meu-servicoParando o serviço
Para parar o serviço, execute o comando:
systemctl stop meu-servicoReiniciando o serviço
Para reiniciar o serviço, execute o comando:
systemctl restart meu-servicoVerificando o log do serviço
Para verificar o log do serviço, execute o comando:
journalctl -u meu-servicoVerificando o log do serviço em tempo real
Para verificar o log do serviço em tempo real, execute o comando:
journalctl -u meu-servico -f