Executar um cronjob uma vez por dia, quando a máquina está ligada, mas não necessariamente em um horário específico

2

Eu quero executar um cronjob uma vez por dia em uma máquina que não é executada o tempo todo, mas é executada pelo menos uma vez por dia por algumas horas. O problema com um cronjob é que eu tenho que dar o tempo exato, quando ele deve rodar, mas minha máquina pode não estar rodando neste momento em particular. Eu sei que há uma opção para o cron que diz "faça isso, ao inicializar", mas minha máquina geralmente não é reinicializada, mas deixo em espera. Colocando de forma diferente, eu quero executar algo uma vez por dia, mas não posso dar um tempo exato. Existe uma solução para isso?

Christian
fonte

Respostas:

4

Você quer algo como anacron :

anacron é um programa de computador que   executa agendamento de comando periódico   que é tradicionalmente feito pelo cron,   mas sem assumir que o sistema   está sendo executado continuamente. Assim, pode   ser usado para controlar a execução de   trabalhos diários, semanais e mensais (ou   qualquer coisa com um período de n dias) em   sistemas que não funcionam 24 horas por dia.

Disponível como pacotes na maioria das distribuições do Linux. Há provavelmente também uma porta para o MS Windows ...

sleske
fonte
Esta é a resposta. Perfeito
sinni800
0

Você poderia invocar a tarefa a partir de um script de inicialização em /etc/rc2.d que compara a data de hoje com uma salva em um arquivo e, em seguida, atualiza esse arquivo.

RedGrittyBrick
fonte