Por que esse script não funciona no cron e gera uma saída vazia?

2

Por que este script não funciona no cron para root ou outro usuário e gera uma saída vazia?

/tmp/test-1.log
---------------
#!/bin/sh
/bin/echo this is test-1.sh
/bin/date "+%FT%T"

Permissões estão ok

# ls -l /root/test-*
-rwxr-xr-x 1 root root 58 Apr 27 22:48 /root/test-1.sh
#

Linha Cron crontab -e . Eu tentei essas duas maneiras, criando e anexando

55 * * * * /root/test-1.sh &>  /tmp//tmp/test-1.log
58 * * * * /root/test-1.sh &>> /tmp//tmp/test-2.log

e a saída está vazia, por que !!!!!!

# date; ls -ld /tmp/test*
Sun Apr 27 22:59:56 CEST 2014
-rw-r--r-- 1 root root 0 Apr 27 22:55 /tmp/test-1.log
-rw-r--r-- 1 root root 0 Apr 27 22:55 /tmp/test-2.log
# 

Qual é o problema? Deve ser algo simples, mas não consigo encontrá-lo.

A propósito, estou usando o Ubuntu 12.04.4 LTS.

    
por user275119 27.04.2014 / 23:30

2 respostas

0

Tente alterar a linha no crontab com isto:

55 * * * * /bin/sh /root/test-1.sh > /tmp/test-1.log
58 * * * * /bin/sh /root/test.2.sh >> /tmp/test-2.log

isso deve resolver o problema.

    
por girardengo 27.04.2014 / 23:57
0

Sua sintaxe de redirecionamento é falha.

Altere seu crontab para:

55 * * * * /root/test-1.sh >  /tmp/test-1.log
58 * * * * /root/test-1.sh >> /tmp/test-2.log
    
por L. D. James 28.04.2014 / 00:06