Linux no comando persistente nas reinicializações?

8

As tarefas agendadas com 'at' são persistentes nas reinicializações? Além disso, alguém sabe de uma forma de backup dos trabalhos sem acesso aos diretórios de spool relevantes?

Eu quero enviar um e-mail em intervalos especificados a partir de agora até um ano (ou seja, 1 semana, 1 mês, 6 meses), então essa parece ser uma boa ferramenta, talvez haja uma melhor?

    
por Kyle Brandt 27.05.2009 / 15:19

3 respostas

8

Sim, eles são persistentes nas reinicializações (são apenas arquivos em um spool).

Quanto a ter acesso a eles, como usuário comum, você não terá acesso aos arquivos, mas poderá criar um sistema para fazer o backup deles. Talvez algo assim:

MYAT=~/atjobs

/bin/rm -rf $MYAT/*

at -l >$MYAT/JOBS
for j in 'cat $MYAT/JOBS | cut -f1'
do
  at -c $j >$MYAT/$i
done

Se você precisar recarregar o trabalho mais tarde:

for j in 'cat $MYAT/JOBS | cut -f1'
do
  # make sure the job isn't defined
  atrm $j
  # reload it from the file
  at -f $MYAT/$j 'grep ^$j $MYAT/JOBS | awk '{ print $3, $2 }''
done

(isso é tudo principalmente não testado. O comando básico está certo, mas com certeza haverá um erro na lógica em algum lugar)

Dito tudo isso, não sei se usaria a tarefa descrita. Eu provavelmente usaria um sistema de calendário pré-existente. No entanto, se eu usasse uma tarefa do cron executada diariamente que verificasse um arquivo para ver se havia alguma mensagem a ser enviada. Muito mais portátil do que em trabalhos, e muito mais provável de ser lembrado se você trocar de máquina ...

    
por 27.05.2009 / 15:25
3

Quando você agenda um trabalho com, mesmo que uma reinicialização seja feita (eles são armazenados em / var / spool / cron / atjobs), o trabalho ainda está planejado.

Cordialy,

    
por 27.05.2009 / 15:32
0

Eu não usei muito o comando at, mas usei o cron para agendar as tarefas a serem executadas e é persistente nas reinicializações. cron trabalhou para mim nos últimos quinze anos.

Se precisar de um comando para ser executado uma vez por dia e ser executado uma vez, mesmo que o sistema fique inativo, você pode usar anacron .

    
por 27.05.2009 / 15:27

Tags