crontab с php не работает

Моя ситуация такова, что у меня есть файл php в /root/test.php. И я установил свой корневой crontab следующим образом

* * * * * /usr/local/bin/php /root/test.php

Содержимое test.php работало для создания базы данных псевдонимов для постфикса, как показано ниже:

<?php echo shell_exec("postaliases hash:/etc/aliases"); >

Я знаю, что crontab успешно запускает test.php. Но shell_exec внутри, похоже, не работает (я не могу найти свой целевой файл aliases.db в / etc /). И я испытал использование commend php -f test.php напрямую, это работа.

Я знаю, что ситуация немного сложная. Но если кто-то сможет решить мою проблему, буду очень признателен за вашу помощь.


person inker    schedule 06.11.2012    source источник
comment
Где источник test.php?   -  person arved    schedule 06.11.2012
comment
test.php - это тестовый скрипт, отредактированный root. Извините, что не заметил, что контент был скрыт между ними. Я обновил свой вопрос.   -  person inker    schedule 10.11.2012
comment
вы знаете пользователя, от имени которого работает crontab, и разрешения на /root/test.php? Было бы неплохо проверить две вещи.   -  person quickshiftin    schedule 10.11.2012
comment
Есть ли какие-то проблемы, если я запускаю два сценария оболочки точно так же, как и один выше?   -  person inker    schedule 19.11.2012


Ответы (1)


  1. Используйте полный путь к почтовым адресам. Скорее всего, это не путь пользователя, выполняющего скрипт.

  2. Зачем использовать php-скрипт для вызова оболочки? Просто используйте сценарий оболочки

person arved    schedule 11.11.2012
comment
Это тестовый код для части большой системы, написанной на php. Для упрощения процесса установки всей системы я бы предпочел использовать php-скрипт. Думаю, нет проблем с именем пути, но все же спасибо за ваш ответ. - person inker; 19.11.2012
comment
Я меняю сценарий .php на .sh и меняю содержимое на / usr / local / sbin / postalias hash: / etc / aliases Но все равно работаю с sh test.sh, а не с crontab. - person inker; 20.11.2012
comment
вы получаете почту от скрипта cron? вы получаете сообщения журнала в вашем системном журнале? - person arved; 20.11.2012
comment
Я пытаюсь перенаправить вывод оболочки из этой тестовой оболочки в файл отладки. Я уверен, что перенаправление прошло успешно, но из почтовых сообщений ничего не выводится. - person inker; 23.11.2012
comment
попробуйте заменить почтовые адреса чем-то, что имеет вывод, например эхо Привет! - person arved; 27.11.2012