Как запустить задание cron с аргументами и передать результаты в журнал? - PullRequest
10 голосов
/ 22 октября 2011

Пример:

* * * * * /usr/bin/php /full/path/to/script.php arg1 arg2 > /full/path/to/logfile.log

Сценарий запускается и получает доступ к аргументам просто отлично, но результаты никогда не выводятся в logfile.log. Кроме того, мой logfile.log - это chmod 777, поэтому я знаю, что у него есть доступ для записи.

Можете ли вы исправить мой синтаксис?

Ответы [ 2 ]

11 голосов
/ 22 октября 2011

Похоже, вы ищете файл журнала в неправильной папке. Попробуйте это

* * * * * cd /path/to/script.php ; ./script.php arg1 arg2 >> logfile.log

Затем найдите файл журнала в папке / path / to / script. Это также может быть проблема с правами на запись. Также проверьте ваш скрипт на наличие ошибок. Ваша команда crontab выглядит нормально.

1 голос
/ 22 октября 2011

Правильно ли работает команда из командной строки? Возможно, что аргументы содержат некоторые символы, специально обработанные оболочкой. В этом случае вам нужно заключить всю команду в кавычки, чтобы оболочка не повозилась с аргументами.

...