O anacron é iniciado / interrompido por vários meios, um dos quais é quando a energia CA é conectada / desconectada, como pode ser visto ao examinar /etc/apm/event.d/anacron
e /usr/lib/pm-utils/power.d/anacron
. Você também pode ver em var/log/syslog
que o anacron pára / inicia quando você desconecta e reconecta o laptop. Este é um recurso de economia de energia.
Quando o anacron executa o lote de jobs cron.daily
, inicialmente 0anacron
é chamado e atualiza o carimbo de hora /var/spool/anacron/cron.daily
( anacron -u cron.daily
) para a data atual, antes que o anacron prossiga para processar o restante do scripts (alfabeticamente, acredito).
Tudo bem, mas digamos que temos o cenário em que o lote cron.daily
começa a ser executado, o registro de data e hora é atualizado para cron.daily
, mas algum tempo antes da conclusão o usuário desconectou o anacron de parada AC. E agora? Se o usuário fizer a reconfiguração (após ou antes da reinicialização), o anacron será reiniciado, mas ao verificar o registro de data e hora para cron.daily
ele será visto como mais recente que um dia e considerará o lote completo para o dia.
Alguém pode confirmar se esse é realmente o caso? Parece explicar por que meu script de backup não foi executado alguns dias, mas correu bem em outros. Em caso afirmativo, por que o registro de data e hora é atualizado antes de os trabalhos serem executados e não depois de todos terem sido concluídos?
Tags cron