Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Cron не запускает PHP-скрипт  (Прочитано 7797 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Cron не запускает PHP-скрипт
« : 11 Мая 2013, 17:43:33 »
Всем привет. Вопрос банален, но перерыв несколько веток ответа пока не нашел.
Почему может не запускаться скрипт???

crontab -l
MAILTO=lala@mail.ru
00 17 * * * /var/www/dart/blocks/cron/update.php

и на мыло ничего не приходит.
Сам скрипт наверное приводить не буду, там букв много, но из браузера отрабатывается, пути к подключаемым в скрипте файлам прописаны от корня сервера.
Больше не знаю что сказать, поскольку чайник и ubuntu только начинаю щупать.
Подскажите куда копать.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #1 : 11 Мая 2013, 17:51:51 »
ls -l /var/www/dart/blocks/cron/update.php
head -n 1 /var/www/dart/blocks/cron/update.php
tail /var/log/cron

Хотя наверное всё-таки будет правильным запускать так
00 17 * * *  /usr/sbin/php /var/www/dart/blocks/cron/update.php
« Последнее редактирование: 11 Мая 2013, 18:01:48 от fisher74 »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Cron не запускает PHP-скрипт
« Ответ #2 : 11 Мая 2013, 18:09:48 »
Теоретически, можно указать SHELL=/bin/bash или иное, и не будет необходимости обращаться к интерпретатору напрямую, если в скриптах корректно прописан shebang.

и на мыло ничего не приходит.
Вероятно, не настроен MTA.
« Последнее редактирование: 11 Мая 2013, 18:57:57 от ArcFi »

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #3 : 11 Мая 2013, 18:52:21 »
fisher74,
Я ни строчки не понял из первого кода, можно пояснить?
Запуск переписал, но резуль тот же.
ArcFi,
шел=бинбаш прописывал, не помогло, иное не прописывал, поскольку не знаю какое оно бывает, термин shebang для меня тоже в диковинку)))

Я ж говорю - чайник, из ликбеза по крону нашел только вот это https://help.ubuntu.ru/wiki/cron , но толку от него мало. Если разжевывать подробно не ахота, ссылочки чтоле кидайте.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Cron не запускает PHP-скрипт
« Ответ #4 : 11 Мая 2013, 18:59:04 »
Я ни строчки не понял из первого кода, можно пояснить?
Показывайте выхлоп команд.

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #5 : 11 Мая 2013, 19:04:16 »
root@newdart-10732:~# ls -l /var/www/dart/blocks/cron/update.php
-rw-r--r-- 1 root root 3354 May 11 13:10 /var/www/dart/blocks/cron/update.php
root@newdart-10732:~# head -n 1 /var/www/dart/blocks/cron/update.php
<?php
root
@newdart-10732:~# tail /var/log/cron
tailcannot open `/var/log/cron' for reading: No such file or directory

Последнее я понял :D нет у меня такой директории)))

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Cron не запускает PHP-скрипт
« Ответ #6 : 11 Мая 2013, 20:27:19 »
chmod +x /var/www/dart/blocks/cron/update.php
sed -i '1i\
#!/usr/bin/php' /var/www/dart/blocks/cron/update.php
« Последнее редактирование: 11 Мая 2013, 22:13:46 от ArcFi »

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #7 : 11 Мая 2013, 20:50:09 »
root@newdart-10732:~# chmod +x /var/www/dart/blocks/cron/update.php
root@newdart-10732:~# sed '1i\
> #!/usr/bin/php' /var/www/dart/blocks/cron/update.php
#!/usr/bin/php
Дальше выводится содержимое файла со скриптом
еще вопрос возник - нужно ли перезагружать сервер или cron при каждом изменении файла запуска(где время прописываю)??

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #8 : 11 Мая 2013, 20:54:13 »
Hirosim,
cat /var/log/syslog | grep CRON
Wars ~.o

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Cron не запускает PHP-скрипт
« Ответ #9 : 11 Мая 2013, 21:10:05 »
А, пардон, забыл ключик "-i":
sed -i '1i\
#!/usr/bin/php' /var/www/dart/blocks/cron/update.php

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #10 : 11 Мая 2013, 21:27:02 »
sed -i '1i\
#!/usr/bin/php' /var/www/dart/blocks/cron/update.php
не вывел ничего

а благодаря victor00000 нашлись кроновские логи))))
root@newdart-10732:~# cat /var/log/syslog | grep CRON
May 11 06:39:01 newdart-10732 CRON[18691]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 07:09:01 newdart-10732 CRON[18707]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 07:17:01 newdart-10732 CRON[18722]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 07:39:01 newdart-10732 CRON[18725]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 08:09:01 newdart-10732 CRON[18742]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 08:17:01 newdart-10732 CRON[18760]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 08:39:01 newdart-10732 CRON[18845]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 09:09:01 newdart-10732 CRON[18888]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 09:17:01 newdart-10732 CRON[18904]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 09:39:01 newdart-10732 CRON[18908]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 10:09:01 newdart-10732 CRON[19001]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 10:17:01 newdart-10732 CRON[19077]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 10:39:01 newdart-10732 CRON[27387]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 10:50:01 newdart-10732 CRON[27422]: (root) CMD (/var/www/dart/blocks/cron/update.php)
May 11 10:50:01 newdart-10732 CRON[27421]: (CRON) info (No MTA installed, discarding output)
May 11 11:05:01 newdart-10732 CRON[27574]: (root) CMD (/var/www/dart/blocks/cron/update.php)
May 11 11:05:01 newdart-10732 CRON[27573]: (CRON) info (No MTA installed, discarding output)
May 11 11:09:01 newdart-10732 CRON[27583]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 11:15:01 newdart-10732 CRON[27736]: (root) CMD (root /var/www/dart/blocks/cron/update.php)
May 11 11:15:01 newdart-10732 CRON[27735]: (CRON) info (No MTA installed, discarding output)
May 11 11:17:01 newdart-10732 CRON[27738]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 11:39:01 newdart-10732 CRON[27744]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 16:09:01 newdart-10732 CRON[27834]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 16:17:01 newdart-10732 CRON[27860]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 16:39:01 newdart-10732 CRON[27993]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 16:40:01 newdart-10732 CRON[28013]: (root) CMD (/usr/bin/php-cli -q /var/www/dart/blocks/cron/update.php)
May 11 16:40:01 newdart-10732 CRON[28012]: (CRON) info (No MTA installed, discarding output)
May 11 16:58:53 newdart-10732 cron[28048]: (CRON) INFO (pidfile fd = 3)
May 11 16:58:53 newdart-10732 cron[28049]: (CRON) STARTUP (fork ok)
May 11 16:58:53 newdart-10732 cron[28049]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
May 11 17:00:01 newdart-10732 CRON[28053]: (root) CMD (/var/www/dart/blocks/cron/update.php)
May 11 17:00:01 newdart-10732 CRON[28052]: (CRON) info (No MTA installed, discarding output)
May 11 17:09:01 newdart-10732 CRON[28058]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 17:17:01 newdart-10732 CRON[28079]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 17:39:01 newdart-10732 CRON[28085]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 18:09:01 newdart-10732 CRON[28106]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 18:17:01 newdart-10732 CRON[28125]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 18:39:01 newdart-10732 CRON[28191]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 18:40:01 newdart-10732 CRON[28207]: (root) CMD (/usr/sbin/php /var/www/dart/blocks/cron/update.php )
May 11 18:40:01 newdart-10732 CRON[28206]: (CRON) info (No MTA installed, discarding output)
May 11 19:09:01 newdart-10732 CRON[28229]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 19:10:01 newdart-10732 CRON[28537]: (root) CMD (/usr/sbin/php /var/www/dart/blocks/cron/update.php )
May 11 19:10:01 newdart-10732 CRON[28536]: (CRON) info (No MTA installed, discarding output)
May 11 19:17:01 newdart-10732 CRON[28540]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 19:39:01 newdart-10732 CRON[28544]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 20:09:01 newdart-10732 CRON[28578]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 20:17:01 newdart-10732 CRON[28628]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
May 11 20:39:01 newdart-10732 CRON[28631]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 20:46:01 newdart-10732 CRON[28805]: (root) CMD (/usr/sbin/php /var/www/dart/blocks/cron/update.php )
May 11 20:46:01 newdart-10732 CRON[28804]: (CRON) info (No MTA installed, discarding output)
May 11 21:09:01 newdart-10732 CRON[29636]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
May 11 21:17:01 newdart-10732 CRON[29943]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Cron не запускает PHP-скрипт
« Ответ #11 : 11 Мая 2013, 22:02:42 »
не вывел ничего
Так и должно быть, каманда лишь дописывает shebang в начало.

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #12 : 11 Мая 2013, 22:04:59 »
На сколько я понял записи логов, скрипт всетаки вызывается, видимо проблема в php...
а как отладить не соображу...

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Cron не запускает PHP-скрипт
« Ответ #13 : 11 Мая 2013, 22:12:56 »
Там же в crontab, когда пишете путь к скрипту, дописать в конце
>/tmp/script.log 2>&1чтобы весь выхлоп с ошибками осел в лог.

Оффлайн Hirosim

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Cron не запускает PHP-скрипт
« Ответ #14 : 11 Мая 2013, 22:33:34 »
вот что ваывелось
/bin/bash: /usr/sbin/php: No such file or directory
Сейчас вызов выглядит так
root@newdart-10732:~# crontab -l
SHELL=/bin/bash
25 22 * * *  /usr/sbin/php /var/www/dart/blocks/cron/update.php >/tmp/script.log 2>&1

 

Страница сгенерирована за 0.105 секунд. Запросов: 25.