RESOLVIDO, veja resposta 'inútil'.
Eu tenho um cronjob no meu crontab.
Quando eu especificar o trabalho a ser executado em 2 minutos, eu espero, e então eu posso ver os arquivos criados pelo trabalho, eu posso ver o processo com ps. O trabalho leva pelo menos 10 minutos para ser concluído.
Mas, se eu especificar o trabalho a ser executado em 2 minutos, e então eu sair, eu volto alguns minutos depois, e parece que o trabalho não foi executado (nenhum arquivo criado e processo não está em ps ).
Quando eu olho para o / var / log / syslog eu posso ver que o trabalho 'começou', mas imediatamente (no mesmo segundo) o cron tenta enviar um email. Provavelmente o email com o resultado. (bem, o sendmail não está configurado corretamente, mas isso não deve ser a causa raiz).
Você tem alguma ideia?
Aqui estão alguns exemplos concretos: (python é o nome da minha máquina)
Eu edito o crontab usando o crontab -e.
Aqui está o crontab:
user@python:~$ crontab -l
[...]
# m h dom mon dow command
50 9 * * * /home/user/scripts_automated/crontab1.sh
Ele deve ser exibido às 9:50
Aqui está o conteúdo do / var / log / syslog:
[...]
Nov 6 09:48:02 python crontab[30913]: (user) BEGIN EDIT (user)
Nov 6 09:48:18 python crontab[30913]: (user) REPLACE (user)
Nov 6 09:48:18 python crontab[30913]: (user) END EDIT (user)
Nov 6 09:50:01 python CRON[30936]: (user) CMD (/home/user/scripts_automated/crontab1.sh)
Nov 6 09:50:01 python sendmail[30938]: sA68o1a4030938: from=user, size=347, class=0, nrcpts=1, msgid=<201411060850.sA68o1a4030938@python>, relay=user@localhost
[...]
Como você pode ver no log, eu editei o crontab
às 09:48:02, depois fiz o logout. Volto na máquina (com ssh
) e o trabalho não produziu nenhum arquivo que deveria ter sido produzido.
Aqui está o conteúdo do script:
user@python:~$ cat scripts_automated/crontab1.sh
# 0 ------------------------------------------------------
datenow='date +%F_%H-%M-%S'
/home/user/scripts_automated/script_1_cisco_grab.sh > /home/user/scripts_automated/crontab/run_${datenow}_.txt 2>&1 &
echo $! > /home/user/scripts_automated/crontab/pid_${datenow}.txt
ln -s /home/user/scripts_automated/crontab/pid_${datenow}.txt /home/user/scripts_automated/crontab/pid_last_run.txt
e nenhum arquivo é produzido. Eu esperaria pelo menos que o arquivo pid_${datenow}.txt
existisse com o pid do comando background. Mas nada.
Se eu não fizer logout, os scripts serão executados, produzirá arquivos de saída, pid_${datenow}
file e assim por diante ...