Agendar trabalhos é uma coisa comum ao gerenciar os sistemas. Pode ser que você esteja agendando backups automáticos ou enviando e-mails. Para agendar os trabalhos, você usa o crontab que significa tabela cron. Um trabalho agendado torna-se um cron job. O crontab deve estar em execução para você agendar os trabalhos e para que seu trabalho agendado seja executado.
Neste guia, aprendemos as diferentes maneiras de verificar se seu crontab está funcionando e como iniciá-lo se não estiver em execução.
Como verificar se o Crontab está funcionando
Se seu crontab estiver inativo, você ainda pode agendar os trabalhos. Mas o problema é que os trabalhos não serão executados. Para evitar tal cenário, devemos verificar se o crontab está funcionando antes ou depois de agendar um trabalho.
Existem diferentes maneiras de verificar se o crontab está funcionando:
1. Verifique o status do cron
O crontab é um serviço cron; se você não o iniciou, o cron permanece inativo. Use o seguinte comando para verificar seu status:
$ sudo status cron do serviço
Se seu status for exibido como inativo (morto), isso significa que o crontab não está funcionando. Pode ser que você tenha parado ou não tenha começado.
Nesse caso, inicie o serviço cron e verifique seu status novamente para garantir que esteja funcionando. Ele deve exibir o ativo (em execução) status.
2. Verifique os processos em execução
Se o crontab estiver funcionando, o serviço cron deve ser um dos processos atualmente em execução em seu sistema. Aqui, você pode usar o PS comando para exibir todos os processos em execução. Em seguida, combine-o com o firmeza comando para filtrar “cron” da saída dos processos em execução.
Aqui está o comando a ser usado:
$ PS para | firmeza cron
Se o crontab estiver funcionando, o comando retorna o PID do serviço cron em diferentes usuários. Nesse caso, ele retorna o processo cron para o root e o usuário chamado “kyle”. Isso confirma que o crontab está funcionando.
Como alternativa, você pode verificar se o crontab está funcionando verificando se ele retorna um PID usando o firmeza comando. O comando pgrep examina a lista de IDs de processo e localiza o processo de destino.
Observe que o ID do processo retornado na saída a seguir corresponde ao do PID raiz do serviço cron que encontramos no exemplo anterior. Isso também confirma que seu crontab está funcionando.
Suponha que paramos o serviço cron e tentamos obter seu PID usando pgrep para verificar se o crontab está em execução. O comando não produz nenhuma saída. Nesse caso, ele confirma que o crontab não está funcionando e você deve iniciá-lo.
3. Confirme com os arquivos de log
Outra excelente maneira de verificar se o crontab está funcionando é verificando os arquivos de log. Se você tiver uma tarefa cron em execução, poderá verificar os arquivos de log para verificar se o crontab está funcionando. Os arquivos de log para o cron job só podem refletir se o crontab estiver ativo.
Neste exemplo, criamos um cron job para executar um script a cada minuto.
Usando o comando tail , podemos verificar as últimas linhas do arquivo de log. No Linux, o syslog contém os arquivos de log para o serviço cron.
Observe como os arquivos de log exibem a saída do cron a cada minuto, confirmando que nosso crontab está ativo e funcionando.
$ rabo -f / foi / registro / syslog | firmeza 'cron'
As três maneiras são os métodos mais fáceis e convenientes de verificar se o crontab está funcionando em seu sistema.
Conclusão
Saber se o crontab está funcionando é uma rotina essencial ao trabalhar com tarefas cron. Cobrimos três maneiras de verificar se o crontab está funcionando: usando o serviço cron, verificando o ID do processo e verificando os arquivos de log do serviço cron. Experimente os métodos e veja qual funciona melhor para o seu caso.