LINUX.ORG.RU

cron не выполняет задания

 ,


0

1

Добрый день. У меня возникла проблема, крон в логах отчитывается о выполнении задания, но само задание как таковое не выполняется. Содержимое крона:

2 * * * * php /var/www/html/ExportItera/try.php

3 * * * * php /var/www/html/cronscripts/tgAdapter.php

Задания выполняются от имени пользователя. При выполнении tgAdapter.php должны прийти сообщения в телеграм, но этого не происходит. По выполнении try.php должна обновиться таблица в БД Mysql. Этого тоже не происходит.

Пробовал:

  • выполнять задачи от рута, www-data
  • менять php на curl http://...
  • указывать абсолютные пути на пхп
  • гуглить…

От имени пользователя в консоли команды выполняются быстро и без проблем. Юзермейл пустой. Логи никаких намеков на ошибки или варнинги не содержат. Файлы скриптов исполняемые. Права на скрипты 0777. Всю голову уже сломал. Из-за чего это может быть? ОС Ubuntu server 20.04.

Создано миллион тем «Почему крон не выполняет задания». Как правило, причина одна. Пользуйтесь поиском.

akk ★★★★★
()

Содержимое крона

/etc/crontab или через crontab -e?

Если второе, то там пользователь не указывается так как это пользовательские crontab и они выполняются от пользователя, от которого был выполнен crontab -e.

Логи никаких намеков на ошибки или варнинги не содержат.

Что в логах самого cron?

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

вывод через crontab -l от имени пользователя, на коем висят задачи список задач редактирую через webmin. сейчас в логах syslog уже минут 5 нет ничего, даже строки о выполнении задачи,хотя я ей поставил интервал в 1 минуту.

Bear_Grylls
() автор топика

А таймеры systemd не пойдут вместо крона?

damix9 ★★★
()
Ответ на: комментарий от Bear_Grylls

Укажи полный путь до php.

Ну и скорее всего, php скрипты должны выполняться от www-data

anonymous
()
Ответ на: комментарий от Bear_Grylls

от имени пользователя

Потому и не работает. В пользовательских crontab указывать пользователя не нужно, то есть у тебя в crontab пользователя php должно быть так:

2 * * * * /var/www/html/ExportItera/try.php
3 * * * * /var/www/html/cronscripts/tgAdapter.php

Или в /etc/crontab:

2 * * * * php /var/www/html/ExportItera/try.php
3 * * * * php /var/www/html/cronscripts/tgAdapter.php

Но в первом случае у тебя должно быть разрешено использование cron пользователям (где находятся allow/deny — читай в мануале своей реализации cron).

mord0d ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.