Como verificar se um trabalho de crontab funciona quando deveria

1

Então eu fiz um arquivo .sh básico para limpar meu cache usando o

sync; echo < 3 /proc/sys/vm/drop_caches
comando

. Então salvei no meu nome de usuário em

/home/marc 

Então eu me deparei com o crontab então decidi usar este arquivo sh com o crontab para rodar a cada hora, já que notei que minha memória RAM é consumida rapidamente no meu laptop. usando o crontab -e, eu editei o arquivo para isso:

0 * * * * /root/clearcache.sh 

Minha pergunta é: fiz tudo certo? Eu editei o arquivo crontab corretamente e, em caso afirmativo, como posso verificar se este trabalho é executado como deveria?

    
por Marcus Decimus Smokadus 14.04.2016 / 23:30

2 respostas

2

A resposta mais simples para verificar se um cronjob funciona quando você espera (menor que lendo a página de manual ) seria adicionar um cronjob simples que reportará a data para um arquivo específico:

0 * * * * date >> /tmp/cronjob.test

Em seguida, verifique no dia seguinte (ou sempre) e certifique-se de que está acionando quando você esperava.

Eu, pessoalmente, recomendo a leitura da página do manual - é mais rápido - mas o que está acima é o caminho mais preguiçoso. ;)

    
por 15.04.2016 / 00:12
0

Parece que o cron não tem nenhuma opção de registro ou depuração.

Para verificar se seu script curto é executado conforme o esperado, você pode assistir strace -f -p $(pgrep cron) em uma janela de terminal. Corra strace -f my-basic.sh antecipadamente para saber como deve ser .

Se um script cron gera qualquer saída, ele deve ser enviado para o seu usuário. Quando você abre um terminal, ele diz que você tem e-mail, e o comando mail mostrará para você ... Eu tenho medo que o comando seja outra "oportunidade de aprendizado":).

Você pode esperar que qualquer erro faça com que seu script gere saída e, consequentemente, e-mail. Essa é a convenção unix. "Nenhuma notícia é boa notícia".

    
por 14.04.2016 / 23:46

Tags