Fala, galera!
Até agora, a gente fez um script de monitoramento bem completo, mas ele só roda quando a gente executa ele na mão. A ideia agora é fazer o sistema rodar ele para a gente, tipo, a cada 15 minutos.
Muita gente conhece o 'Cron' para isso, mas vamos ver como fazer com o 'systemd', que é o sistema que o Linux moderno usa para gerenciar serviços (é o 'pai' de quase todos os processos).
O 'systemd' é super poderoso, especialmente se você quisesse que algo ficasse rodando 24/7 (como um site). Para a nossa tarefa (rodar a cada 15 min), a gente vai usar duas partes dele: um 'service' e um 'timer'.
- Preparando o Script
 Primeiro, a gente precisa mover nosso script para um lugar "padrão" do sistema, onde o 'systemd' possa achar e ter permissão para rodar.
Vamos mover ele para '/usr/local/bin/':
sudo mv monitoramento-sistema.sh /usr/local/bin/monitoramento-sistema.sh
Depois de mover, a gente precisa dar permissão de execução de novo (o 'sudo' é porque estamos mexendo em uma pasta do sistema):
sudo chmod +x /usr/local/bin/monitoramento-sistema.sh
- Criando o 'O Quê' (O .service)
 Agora, vamos para a pasta onde o 'systemd' guarda as configurações de serviço:
cd /etc/systemd/system
Aqui, a gente vai criar um arquivo que diz o que o 'systemd' deve fazer. Vamos chamar de 'monitoramento-sistema.service'.
sudo vim monitoramento-sistema.service
Dentro do arquivo, a gente cola isso:
[Unit] Description=Script de Monitoramento de Servidor Wants=monitoramento-sistema.timer
[Service] Type=oneshot ExecStart=/usr/local/bin/monitoramento-sistema.sh
[Install] WantedBy=multi-user.target
O que isso quer dizer:
[Unit]: É a descrição. O 'Wants=' é a parte chave: ele diz que esse serviço "quer" (depende de) um timer com o mesmo nome. É o que amarra as duas coisas.
[Service]: 'Type=oneshot' significa "rode o comando uma vez e saia". É exatamente o que nosso script faz. 'ExecStart=' é o caminho para o script que ele deve rodar.
[Install]: É o padrão, dizendo para carregar esse serviço junto com o sistema.
Depois de colar, salve e saia (Esc, :wq).
- Criando o 'Quando' (O .timer)
 A gente já disse 'o quê' fazer, agora falta dizer 'quando' fazer. Na mesma pasta ('/etc/systemd/system'), vamos criar o 'timer':
sudo vim monitoramento-sistema.timer
Dentro dele, colamos o seguinte:
[Unit] Description=Timer para execução periódica do Monnitoramento de Servidor
[Timer] OnCalendar=*:0/15 Persistent=true
[Install] WantedBy=timers.target
O que isso quer dizer:
[Unit]: Só a descrição do timer.
[Timer]: Aqui está a mágica.
'OnCalendar=*:0/15': Essa é a sintaxe do 'systemd' para "a cada 15 minutos".
'Persistent=true': Isso é muito legal. Significa que se o computador estava desligado na hora que o script deveria rodar, ele roda assim que o computador ligar.
[Install]: Padrão para 'timers'.
Salve e saia (Esc, :wq).
Resumo
Pronto! A gente criou os dois arquivos de configuração. O 'monitoramento-sistema.service' (o quê) e o 'monitoramento-sistema.timer' (o quando).
O 'timer' vai "disparar" a cada 15 minutos, e quando ele disparar, ele vai ativar o 'service' que a gente criou.
O próximo passo agora é avisar o 'systemd' sobre esses arquivos novos e ativar eles, mas a parte da criação já está feita!
 
             
             Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!