2015-01-17 4 views
1

Я запускаю скрипт PHP через Linux Crontab. Он работает правильно (проверено с использованием ps -ef). Этот скрипт проверяет все файлы в указанном каталоге, и если файлы не соответствуют определенным требованиям, они будут удалены.Linux Crontab выполняет скрипт PHP, но этот скрипт не удалит файл

Этот sript работает отлично выполняется через Linux консоли (как корень), но когда Он выполнен Crontab он не будет работать ...

Предлагает? Благодаря!

PD: - Права доступа -> - PHP скрипт (755) - Целевая папка (777) - Файлы будут удалены (644)

Crontab линия:

*/1 * * * * php /var/www/server/close_con_watch.php >> /var/www/server/phpcronlog.txt 
+1

Пожалуйста, разместите строку, которая запускает ваш скрипт из файла crontab. Вы можете обнаружить, что вы не используете его с правильными разрешениями. – Tom

+0

Что означает «не будет работать»? Обычно нам нужны более подробные отчеты об ошибках ... ':-)' – halfer

+0

Проблема может заключаться в том, что cron не находит исполняемый файл php. Вы читали http://stackoverflow.com/questions/2689284/executing-php-with-crontab?rq=1? – fvu

ответ

0

В конце концов он работал. Конфликт был в PHP Script.

Мой скрипт проверяет файлы в определенном каталоге, путь к этому каталогу был объявлен относительным образом. Я объявил путь в aboslute образом, и он работал, но я до сих пор не понимаю ... PHP-скрипт находится в фиксированном пути, поэтому все пути, объявленные в строках кода, должны работать как относительные независимо от того, где он выполняется из ... Я ошибаюсь? Всем спасибо.

Почему я запутался:

  • Относительный путь объявлен до этого не бросает путь предупреждения/исключения.
  • Он отлично работал, когда я выполнил сценарий с консоли.
0

убедитесь вы добавляете пользователя/группу в команду Cron, например

10 * * * * root  /path/file.php 

И убедитесь, что ваш файл начинается с

#!/usr/bin/php 
+0

Вы можете запускать как пользователь root, но гораздо безопаснее запускать его как конкретного пользователя, имеющего только необходимые разрешения. – halfer

+0

Это не решило проблему, но спасибо за ответ – ProtectedVoid

+0

проверить ваш syslog. он должен дать дополнительную информацию. – FeedTheWeb

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