Execute a tarefa Cron no dia da semana especificado, mas a qualquer momento

0

Eu tive problemas com o cron. Eu preciso executar a tarefa na minha área de trabalho, mas o problema é que não posso garantir que meu computador seja ligado no tempo especificado.

Por exemplo, eu preciso executar a tarefa fracamente

Se eu especificar

* * * * 6 user my_very_useful_task

my_very_useful_task será executado a cada minuto no domingo, mas eu preciso apenas uma vez

Se eu especificar

0 9 * * 6 user my_very_useful_task

my_very_useful_task será executado às 9:00 da manhã, mas não posso garantir que o computador será ligado neste horário

    
por atomAltera 26.05.2014 / 13:19

1 resposta

1

Use anacron . Da página man anacron :

  Anacron can be used to execute commands periodically, with a  frequency
   specified in days.  Unlike cron(8), it does not assume that the machine
   is running continuously.  Hence, it can be used on machines that aren't
   running 24 hours a day, to control daily, weekly, and monthly jobs that
   are usually controlled by cron.

Você pode encontrar uma introdução concisa aqui . De qualquer forma, modifique o arquivo / etc / anacrontab da seguinte forma: crie uma linha com este formato

 period   delay   job-identifier   command

Período é quantas vezes você quer que o trabalho seja executado, os valores aceitáveis são 1 (diário), 7 (semanal), N (= a cada N dias); delay é o tempo em minutos após o boot que o job deve aguardar antes de ser executado; job-identifier é um arquivo no diretório / var / spool / anacron onde um registro da última execução do comando será mantido. Por fim, o comando é o comando que você deseja executar.

Um exemplo de uma linha em / etc / anacron é

  1 10 test.daily /home/my_name/bin/my_command

Isto irá executar o comando / home / my_name / bin / my_command diariamente (a opção 1), deixando um registro de sua execução em /var/spool/anacron/test.daily, e, se no momento da execução o pc é odwn, ele irá aguardar 10 minutos após a próxima inicialização para executar o comando.

    
por 26.05.2014 / 13:28