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?

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 ...


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.