Executa 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 é para ser executado, mas a 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. Em outras palavras, quero executar algo uma vez por dia, mas não posso dar um tempo exato. Existe uma solução para isso?

    
por Christian 02.02.2011 / 10:31

2 respostas

4

Você quer algo como anacron :

anacron is a computer program that performs periodic command scheduling which is traditionally done by cron, but without assuming that the system is running continuously. Thus, it can be used to control the execution of daily, weekly, and monthly jobs (or anything with a period of n days) on systems that don't run 24 hours a day.

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

    
por 02.02.2011 / 10:40
0

Você pode invocar o trabalho de um script de inicialização em /etc/rc2.d, que compara a data de hoje com um salvo em um arquivo e, em seguida, atualiza esse arquivo.

    
por 02.02.2011 / 11:05