Utilitário Unix para executar um comando após um determinado período de tempo?

1

Estou procurando um daemon que execute um comando uma vez por semana. Mas eu não estou procurando por algo como o cron que executará um comando em um horário específico. Como meu laptop está muito desligado, acontece muito que esse comando não seja executado, porque ele simplesmente perde o momento em que o cron executa esse comando.

Assim, estou procurando um daemon que eu possa dizer para executar um comando sempre que tiver passado uma semana (ou qualquer outro período de tempo) desde que ele executou esse comando.

Eu tenho pesquisado muito sobre esse utilitário, mas não consegui encontrá-lo. Então, alguém aqui conhece tal utilidade?

    
por kokx 18.03.2013 / 00:16

1 resposta

2

OK, então se você criou uma entrada cron como esta para o usuário relevante (sua pergunta não foi muito específica com a especificação):

0/5 * * * * /path/to/script

e o script se parece com algo assim e você faz chmod + x / caminho / para / script

#!/bin/bash
set -x
today=$(date -d "today 00:00" "+%s")
if [[ -s ~/cronflag && -f  ~/cronflag ]]; then
  if [[ $(( $today - $(cat  ~/cronflag ) )) -ge 604800 ]]; then
    echo huzzah!
#    /path/to/weekly
    echo $today > ~/cronflag
    exit 0
  fi
else
#  /path/to/weekly
  echo hip-hop huzzah!
  echo $today > ~/cronflag
  exit 0
fi

você deve ser capaz de obter o resultado desejado presumindo que a) adicione a coisa que você quer que seja feita semanalmente nos dois lugares onde você vê # / path / to / weekly (sem o #;}) eb) a máquina geralmente recebe um tempo de atividade de > = 10 minutos.

    
por 18.03.2013 / 02:00

Tags