Назад | Перейти на главную страницу

выполнение сценария 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

Что я делаю не так? Спасибо

Среда для запуска 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