O cron executa um script agendado mas perdido (devido a dormir) depois de acordar?

4

Eu uso o fedora20 e seu cron padrão. Eu tenho um script de tarefa cron que coloca o servidor para dormir às 10h30 com o rtcwake e ele acorda às 12h30. Se eu executar o script manualmente às 9h40, ele também será ativado às 12h30. Se eu executar o script manualmente às 9h40 da manhã, ele executará a tarefa do cron não atendida às 10h30min depois de acordar às 12h30 e dormir imediatamente (o que faz com que ele acorde às 15h30)?

Isso parece ser o que está acontecendo com o meu servidor, e eu quero saber se o cron executa o trabalho perdido após o despertar. Em caso afirmativo, existe alguma maneira de alterar esse comportamento? Muito obrigado.

    
por user1026669 01.06.2017 / 21:55

2 respostas

3

O Fedora tem como padrão chronie , que incorpora a funcionalidade anacron-like para executar trabalhos periodicamente mesmo quando o sistema está desligado. O defaut /etc/anacrontab tem esta aparência:

#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

... o que significa que, por padrão, todos os scripts que você colocar em um desses diretórios ( /etc/cron.[daily,weekly,monthly] ) serão executados mesmo que o computador esteja desligado. No entanto, coisas em /etc/crontab ou /etc/cron.d ou crontabs de usuário não funcionarão dessa maneira. Veja man anacrontab sobre como adicionar novas entradas se as agendas periódicas existentes não funcionarem para você.

    
por 02.06.2017 / 00:21
2

Nem todos os daemons cron tratam de casos de tempo de atividade não-contínuo. Um que é projetado especificamente para executar trabalhos "perdidos" é anacron .

    
por 01.06.2017 / 22:00