2010-11-16 4 views
2

гуру,PHP скрипт не будет работать, как хроны

Я закодирован для моего клиента PHP-скрипт, который выполняет некоторые обширные данные munging текстовых файлов, которые он создает.

Код завершен, и теперь у меня есть возможность автоматизировать сценарий. Проблема в том, что только запускается вручную. Я не буду работать как работа CRON.

Это то, что я пытался с в заголовке моего сценария «#/USR/бен/PHP -q!»:

00 1 * * * /usr/bin/php -q /HDDLogs/HDDProcess.php >>/HDDLogs/HDDProcess.log 2>&1 

Файл журнала делает получить создан, но пуст. Я попытался удалить -q для бесшумного режима: никакой разницы. Все еще не работал как работа CRON. PHP-файл chmod-ed 755.

Apache 2.0 и PHP 5.3 установлены на этом сервере. Я полностью владею каталогом с моим кодом и файлами данных.

В случае, если вам интересно, мой сценарий никогда не вызывает URL-адрес.

Любая идея ??

Thanks,

Al.

+1

@ user484638 - удалить файл журнала и посмотреть, что он был воссоздан? Если это так, это означает, что ваш PHP еще только для finsh 'ps auwx | grep HDDProcess.php' для проверки все еще работает – ajreal

+0

Я попробовал то, что вы предлагаете. Файл журнала НЕ воссоздается. – Chris

+0

@Paulo: Правильно. файл HDDProcess.log пуст. Я получаю письмо CRON с пустым телом (?). Нет сообщений. И это пользователь crontab, где я запускаю десяток сценариев bash без проблем. – Chris

ответ

2

Я думаю, что это должно быть:

"... /usr/bin/php -q -f /HDDLogs/HDDProcess.php ..."

или

"... /usr/bin/php -q < /HDDLogs/HDDProcess.php ...".

+1

Да, вам нужен флаг -f для выполнения файла из командной строки. Из 'man php'," -f файл Parse and execute file " – JAL

+1

Я пробовал оба ваши предложения. Не работает: скрипт php никогда не запускается. – Chris

+0

/HDDLogs/HDDProcess.log пуст? Любая почта cron в папке «Входящие»? Скрипт запускается, когда вы «su» для владельца cronjob? Это система crontab в/etc/crontab или пользователь crontab? –

Смежные вопросы