Почему этот скрипт не работает в cron для root или другого пользователя и генерирует пустой вывод?
/tmp/test-1.log
---------------
#!/bin/sh
/bin/echo this is test-1.sh
/bin/date "+%FT%T"
Разрешения в порядке
# ls -l /root/test-*
-rwxr-xr-x 1 root root 58 Apr 27 22:48 /root/test-1.sh
#
Cron line crontab -e
, Я пробовал эти 2 способа, создавая и добавляя
55 * * * * /root/test-1.sh &> /tmp//tmp/test-1.log
58 * * * * /root/test-1.sh &>> /tmp//tmp/test-2.log
и вывод пустой, почему !!!!!!
# 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
#
Что не так? Это должно быть что-то простое, но я не могу его найти.
Кстати, я использую Ubuntu 12.04.4 LTS.
Попытайтесь изменить строку в crontab с этим:
55 * * * * /bin/sh /root/test-1.sh > /tmp/test-1.log
58 * * * * /bin/sh /root/test.2.sh >> /tmp/test-2.log
это должно решить проблему.
Ваш синтаксис перенаправления испорчен.
Изменение Ваш crontab к:
55 * * * * /root/test-1.sh > /tmp/test-1.log
58 * * * * /root/test-1.sh >> /tmp/test-2.log