Выполнение скрипта sh из cron
У меня есть скрипт test.sh
#!/bin/sh
php /home/v/file.php
sh /root/x/some.sh
когда я запускаю файл как root из командной строки, он работает.
sh /home/v/test.sh
когда я устанавливаю его в crontab -e (это корневой cron), не работает
* * * * * sh /home/v/test.sh
Что я делаю не так? Спасибо
2 ответа
Среда для cron очень ограничена, старайтесь всегда использовать полный путь для двоичных файлов.
#!/bin/sh
/usr/bin/php /home/v/file.php
/bin/sh /root/x/some.sh
Это означает, что ваш бинарный файл php находится в /usr/bin/php, пожалуйста, измените его, если это не так
Также попробуйте добавить в начало вашего cron строку MAILTO, чтобы получить прямую рассылку с любой ошибкой, которая может произойти во время выполнения.
MAILTO=youraddress@yourmail.com
* * * * * sh /home/v/test.sh
Вероятно, php
двоичный файл не входит в стандартный путь cron. Вы должны указать полный путь к вашему php-файлу в вашем скрипте
/usr/bin/php /home/v/file.php
Вы также должны предоставить путь для ш
/bin/sh /root/x/some.sh