4 maneiras de verificar se o cron está funcionando no Linux

cron é um agendador de tarefas para sistemas operacionais Linux e semelhantes ao Unix. Ele vem pré-instalado em todas as distribuições Linux e é mais adequado para automatizar tarefas repetitivas.

Para que o cron funcione corretamente, você deve verificar periodicamente se o utilitário está funcionando bem em seu sistema. Você pode fazer isso de quatro maneiras diferentes, incluindo verificar o status do serviço cron, examinar os logs do cron, executar um cron job de teste e listar os processos em execução no seu sistema.

O que é cron?

O manipulador de tarefas silencioso, cron, automatiza e agenda tarefas do sistema. Os usuários que configuram e mantêm ambientes de software usam o cron para agendar trabalhos como comandos ou scripts de shell – também chamados de cron jobs – para serem executados periodicamente em horários ou intervalos fixos.

O cron automatiza tarefas de manutenção ou administração do sistema que você pode precisar realizar com frequência.

Existem várias implementações disponíveis no Linux. A versão que você terá depende da sua distribuição. “Vixie cron”, em homenagem ao seu desenvolvedor original, Paul Vixie, é comum e padrão no Debian e no Ubuntu. Arch não possui nenhuma versão do cron em favor dos temporizadores do systemd.

cronie é um fork do Vixie cron que está disponível como um pacote padrão do Arch. Para instalá-lo, use pacman:

 sudo pacman -S cronie 

Em seguida, inicie e ative-o com:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service

Você pode ver qual versão do cron está instalada em seu sistema consultando sua página de manual:

 man cron 

Como verificar se o cron está funcionando no Linux

Aqui estão algumas maneiras de verificar se o cron está funcionando corretamente:

  Como fazer backup de cartões SD e unidades flash no Linux com DD

1. Verifique o status do serviço cron no Linux

Uma maneira de verificar se o cron está funcionando é verificar o status do serviço cron executando um comando básico do Linux. Abra o terminal Linux pressionando Ctrl + Alt + T e use o comando systemctl para verificar o status do cron:

 sudo systemctl status cron 

Se você vir a seguinte saída, isso significa que o cron está ativo e funcionando bem em seu sistema.

Mas e se o cron estiver em um estado inativo, conforme mostrado abaixo?

Você pode iniciar o serviço assim:

 sudo systemctl start cron.service 

Após iniciar o serviço cron, habilite-o para que ele seja iniciado sempre que o sistema for reinicializado:

 sudo systemctl enable cron.service 

2. Verifique os registros do cron no Linux

Outra maneira de verificar se o cron está funcionando corretamente é examinar os arquivos de log. Os logs do cron são armazenados no diretório /var/log/syslog no Linux.

syslog é um protocolo que os sistemas Linux usam para centralizar logs de dados de eventos. Os logs são então acessados ​​para realizar auditorias, monitoramento, solução de problemas, relatórios e outras tarefas operacionais de TI necessárias.

Você pode ver os logs do cron job no arquivo syslog executando o seguinte comando:

 grep 'cron' /var/log/syslog 

Você verá uma saída semelhante indicando que o cron está funcionando bem e seus logs estão sendo armazenados no arquivo de log:

Como a pasta syslog contém outros logs do sistema junto com os logs do cron, pode ser um pouco complicado examinar apenas os logs relacionados ao cron no arquivo. Você pode resolver isso criando um arquivo de log separado que armazena apenas entradas cron que aparecem no arquivo syslog.

  Como instalar o Asahi Linux em seu Apple Silicon Mac

Neste exemplo, usaremos o editor nano, mas você pode usar qualquer editor com o qual se sinta confortável.

Abra o seguinte arquivo usando nano:

 nano /etc/rsyslog.d/50-default.conf 

Localize a linha que começa com:

 #cron.* 

Remova o comentário desta linha removendo o sinal de hash (#). Em seguida, salve e saia do arquivo pressionando Ctrl + X, pressione Y e pressione Enter.

Reinicie o serviço rsyslog emitindo este comando:

 sudo service rsyslog restart 

Agora você receberá logs no arquivo cron.log localizado no diretório /var/log.

Se o seu terminal não conseguir buscar nenhum log, isso pode significar que o cron não está em execução. Nesse caso, confirme se o cron está funcionando ou não usando outros métodos.

3. Executando um cron Job no Linux

Você também pode verificar se o cron está funcionando simplesmente criando um cron job de teste e executando-o. Se o trabalho conseguir executar a tarefa, isso significa que está funcionando bem.

Primeiro você precisa criar um script Bash. O script Bash permite automatizar tarefas diárias no Linux.

Vamos criar um script Bash que irá imprimir “meu cronjob está funcionando!” em um arquivo TXT. Para criar o arquivo, primeiro descubra seu diretório de trabalho atual usando este comando:

 pwd 

Crie um arquivo no diretório atual usando o comando touch:

 touch file.txt 

Depois disso, crie um arquivo Bash usando nano:

 nano script.sh 

Adicione o seguinte conteúdo ao arquivo:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

Certifique-se de fornecer o local correto do arquivo de texto que você criou. Salve e saia do arquivo pressionando Ctrl + X, depois Y e pressione Enter.

  Como usar o comando time no Linux

Dê permissões de execução ao script Bash:

 chmod +x script.sh 

Agora crie um cron job para executar o script. Para fazer isso, abra o arquivo crontab com:

 crontab -e 

Digite a seguinte linha no final do arquivo.

 * * * * * /path/to/script.sh 

Os cinco asteriscos correspondem ao horário de execução, em que o primeiro asterisco representa os minutos (0-59), o segundo representa as horas (no formato 24 horas, então 13h é 13, meia-noite começa em 0), o o terceiro asterisco significa o dia (0-7, 0 e 7 são domingo), o quarto indica o mês e o último asterisco indica o ano.

O nome do arquivo executável e seu caminho também são mencionados no arquivo.

Após salvar e fechar o arquivo, você verá uma mensagem “crontab: instalando novo crontab” no terminal.

Para verificar se o cron job funcionou ou não, vá até o diretório file.txt e imprima seu conteúdo no terminal usando cat:

 cat file.txt 

Isso indica que o cron está funcionando bem.

4. Verifique os processos em execução no Linux

Outra maneira de verificar se o daemon cron está funcionando é listando os processos em execução no seu sistema. Você pode conseguir isso usando o comando ps. O daemon cron aparecerá na saída como crond.

 ps aux | grep cron 

Isso confirma que o processo cron está em execução no seu sistema Linux.

Automatize e agende tarefas do sistema com cron

cron é um dos utilitários mais vitais do Linux que permite que o sistema funcione com eficiência. Às vezes você precisa verificar se o cron está funcionando enquanto soluciona problemas do sistema.

Você pode conseguir isso verificando os logs do cron ou vendo os processos em execução no seu sistema. Você também pode verificar o status do cron usando o utilitário systemctl. Além disso, executar um cron job de teste também pode informar se o serviço está em execução ou não.

O bom funcionamento do cron permite automatizar e agendar tarefas diárias do sistema. A maioria dos cron jobs são criados automaticamente por aplicativos instalados. Automatizar e agendar tarefas melhora o desempenho geral do sistema e o mantém saudável.