Se você quiser verificar se eles são executados, use:
grep -i cron /var/log/syslog
Espero fazer esta pergunta corretamente. Eu estou tentando executar todos os trabalhos que estão configurados no meu servidor, por nano /etc/crontab
vejo a lista de:
# m h dom mon dow user command
27 * * * * root cd / && run-parts --report /etc/cron.hourly
58 15 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
0 15 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
20 15 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
É possível executar o crontab para iniciar todos esses trabalhos ou forçá-los a executar?
Estou tentando confirmar que eles estão realmente em execução.
Apenas faça o que o cron faz.
-v imprime os nomes dos scripts antes de serem executados
Se você quiser apenas verificar se cron
está em execução, faça o seguinte:
service cron status
Esta questão é realmente sobre anacron
, que executa essas tarefas do cron.
Primeiro, certifique-se de que seu arquivo anacrontab
tenha uma sintaxe válida. Se você não vê nada, então tudo bem:
/usr/sbin/anacron -T
Em seguida, você pode executar todos os scripts que serão executados por hora, diariamente, semanalmente e mensalmente. Isso pode ser muito, então dê uma olhada em /etc/cron.{hourly|daily|weekly|monthly}
para ver o que vai acontecer. Para executá-los todos:
sudo su -
cd / && run-parts --report /etc/cron.hourly
cd / && run-parts --report /etc/cron.daily
cd / && run-parts --report /etc/cron.weekly
cd / && run-parts --report /etc/cron.monthly
Finalmente, veja se o sistema de agendamento do anacron está funcionando corretamente. Você pode fazer isso com:
/usr/sbin/anacron -n -f cron.monthly
( -n
significa Executar trabalhos agora, -f
significa força, ignorando registros de data e hora). Isso executará os trabalhos mensais. Ele será executado silenciosamente em segundo plano e você receberá um email quando o trabalho estiver concluído. Haverá um atraso aleatório antes do início do trabalho, que é especificado na coluna de atraso em anacrontab
.
Você pode ver o que está acontecendo usando:
grep monthly /var/log/syslog
Você também deve ser capaz de fazer com que o anacron execute qualquer um dos ciclos fazendo algo parecido com isto:
echo "20160101" | cat > /var/spool/anacron/cron.monthly
/usr/sbin/anacron cron.monthly
Isso insere uma data muito antiga no arquivo de spool. Isso diz ao anacron que o trabalho mensal foi executado pela última vez há mais de um mês e que ele será agendado para execução agora ou em breve.