Как запустить задание cron с аргументами и передать результаты в журнал?

Пример:

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

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

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

Ответ 1

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

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

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

Ответ 2

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