Em servidores e sistemas Unix-like, muitas vezes precisamos rodar comandos automaticamente quando o sistema é reiniciado. Isso pode ser útil, por exemplo, para notificar um serviço ou iniciar um processo remoto via curl
. No FreeBSD, existem duas formas práticas de realizar isso: utilizando o cron
ou criando um script de inicialização customizado.
Usando o cron
com @reboot
O cron é uma ferramenta poderosa para agendamento de tarefas e, com a opção @reboot
, podemos configurar comandos para serem executados automaticamente sempre que o sistema for reiniciado. Para isso, abra o terminal e edite o crontab com o comando crontab -e
. Depois, adicione a seguinte linha ao crontab para executar o comando curl
após a reinicialização:
@reboot /usr/bin/curl "http://localhost:5678/webhook-test/ba5e4060-4bd5-47e4-909e-e0187f54e292?mensagem=Este%20Servidor%20Foi%20Ligado" > /dev/null 2>&1
Salve o arquivo e saia do editor. A partir de agora, o comando será executado sempre que o sistema reiniciar.
Usando um Script de Inicialização Personalizado
Outra forma de rodar um comando após a reinicialização é criando um script de inicialização que é executado durante o boot do sistema. Primeiro, crie um script personalizado, por exemplo, curl_on_reboot.sh
, com o comando:
sudo nano /usr/local/bin/curl_on_reboot.sh
No arquivo do script, adicione o seguinte conteúdo:
#!/bin/sh
/usr/bin/curl "http://localhost:5678/webhook-test/ba5e4060-4bd5-47e4-909e-e0187f54e292?mensagem=Este%20Servidor%20Foi%20Ligado" > /dev/null 2>&1
Em seguida, torne o script executável com o comando:
sudo chmod +x /usr/local/bin/curl_on_reboot.sh
Agora, adicione o script ao arquivo de inicialização /etc/rc.local
para garantir que ele será executado ao reiniciar o sistema:
sudo nano /etc/rc.local
Adicione a seguinte linha ao final do arquivo:
/usr/local/bin/curl_on_reboot.sh
Garanta que o rc.local
será executado ao reiniciar o sistema com o comando:
sudo sysrc rc_local_enable="YES"
Agora, o script será executado automaticamente sempre que o sistema reiniciar.
Conclusão
Com essas duas soluções simples, você pode configurar um comando curl
para ser executado automaticamente após o reinício do seu sistema FreeBSD. A escolha entre usar o cron
ou um script de inicialização vai depender de sua preferência e do nível de personalização que você precisa. Ambas as soluções são eficientes e fáceis de implementar, garantindo que seus serviços ou notificações sejam realizados automaticamente após cada reinício.