Eu usaria a Navalha de Ockham com isso. Está fadado a ser as mudanças do relógio da Hora de Verão.
Estamos executando um servidor Redhat (2.6.33.3-85.fc13.x86_64) e tivemos um comportamento estranho com nossa configuração do cron. Estamos executando uma instalação pronta do cron.
Temos uma tarefa que é executada diariamente às 2 da manhã e foi bem-sucedida por muitos meses. No entanto, ontem (27/03/2011) de manhã, 8 instâncias da tarefa foram iniciadas.
Aqui está a seção relevante do nosso arquivo de registro cron:
...
Mar 27 02:00:01 fs1 CROND[19557]: (root) CMD (true && /home/youdev/you_server/NEW_FS1/housekeeping_scripts/copy_pdf_printer_files_to_fs2.sh)
Mar 27 02:00:01 fs1 CROND[19563]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:00:02 fs1 CROND[19597]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:00:12 fs1 CROND[19931]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:00:22 fs1 CROND[20060]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:00:32 fs1 CROND[20067]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:00:42 fs1 CROND[20077]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:00:52 fs1 CROND[20084]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:01:02 fs1 CROND[20094]: (youdev) CMD (true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh)
Mar 27 02:01:02 fs1 CROND[20095]: (root) CMD (run-parts /etc/cron.hourly)
Mar 27 02:01:02 fs1 CROND[20096]: (root) CMD (true && /home/youdev/you_server/NEW_FS1/housekeeping_scripts/copy_pdf_printer_files_to_fs2.sh)
Mar 27 02:01:02 fs1 run-parts(/etc/cron.hourly)[20095]: starting 0anacron
...
Cada um dos scripts fetch_db_data.sh foi iniciado corretamente (eles são apenas um script de shell que chama um rsync - e os arquivos rsync tmp existem, assim como os arquivos que foram rsynced com sucesso).
Este é o único trabalho que temos que começa às 02:00, mas temos um trabalho que é executado no minuto (copy_pdf_printer_files_to_fs2.sh) e isso funcionou corretamente apenas uma vez às 02:00.
A única coisa que podemos pensar que pode ter causado é um problema de horário de verão (estamos no Reino Unido, então passamos do GMT para o BST às 02:00 no dia em questão) - no entanto, todas as escavações que fizemos done diz que o cron lida bem com problemas de horário de verão. E mesmo assim, não deveríamos esperar 0 execuções (como o tempo pulou de 00:59 para 02:00) ao invés de 8?
Aqui está a entrada do crontab:
[email protected]
# BACKUP LATEST DB FROM LIVE (takes approx one hour)
0 2 * * * true && /home/youdev/you_server/NEW_FS1/backup_scripts/fetch_db_data.sh
Muito obrigado antecipadamente por ler isto e por qualquer ajuda e sugestões,
Chris.
Por favor, veja Daniël van Eeden responda para questionar Cron trabalho executado várias vezes horário de verão :
It is a known bug:
http://bugs.centos.org/view.php?id=5590
https://bugzilla.redhat.com/show_bug.cgi?id=436694
I've seen it happen on CentOS 6.2 with cronie-1.4.4-7.el6.x86_64 on the 31st of march (CET -> CEST)
Tags cron redhat daylight-saving