Questão Como posso executar um trabalho anualmente com anacron?


Eu gostaria de usar anacron para executar um trabalho anualmente. Eu vejo apenas a configuração diária, semanal e mensal para anacron. Existe uma maneira de executar um trabalho uma vez por ano?


4
2017-11-25 18:05


origem




Respostas:


Claro que e já está lá com as possíveis seleções que você tem: escolha 1 dia específico e 1 mês específico e ele será executado uma vez por ano. O dia 1 do mês 1 seria no dia 1 de janeiro.

Anacron tem 2 maneiras de definir linhas. O segundo é assim:

 @period_name delay job-identify command

O period_name pode ser definido como diário, semanal, mensal, anual ou anual. Isso garantirá que os trabalhos sejam executados uma vez por semana, mês ou ano, independentemente do número de dias nesse período.

Exemplo

@yearly 0 job1 /usr/bin/execute_me

0 significa sem atraso. job1 é um identificador e o comando para executar.


4
2017-11-25 18:20



Como o @period_name funcionaria com o anacron? Eu pensei que ele fosse usado no crontab, o que não garante a execução se a máquina estiver desligada. - Jeremy Stein
Aqui você vai @ JeremyStein linux.die.net/man/5/anacrontab ou manpages.ubuntu.com/manpages/precise/man5/anacrontab.5.html ;) - Rinzwind
Ah, então eu poderia adicionar uma linha ao anacrontab assim: @yearly 20 cron.yearly nice run-parts --report /etc/cron.yearly e depois adicionar meus scripts para /etc/cron.yearly? - Jeremy Stein
Não tenho certeza, mas a última parte (nice run-parts --report /etc/cron.yearly) provavelmente precisa ser 1 comando (não que isso seja um problema, já que você pode jogar isso em um script e executar o script) . - Rinzwind


Acho que isso funcionaria a menos que meu computador estivesse desligado em janeiro:

Arquivo em /etc/cron.monthly:

#!/bin/sh
month=`date +%m`
if [ $month -eq 1 ]
then do_yearly_task
fi

0
2017-11-25 18:21