У меня есть сценарий 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
Что я делаю не так? Спасибо
Среда для запуска 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
Вы также должны указать путь для sh
/bin/sh /root/x/some.sh