Задание cron Moodle 2.5 (openSuse) перестало выполняться, я не могу его найти или журналы, где находится cron Moodle?

У меня была установка Moodle 2.3, которая работала нормально. Обновлен до Moodle 2.5, теперь на странице уведомлений написано, что задание Cron не выполняется в течение 24 часов.

Итак, cron перестал запускаться. Я запустил его через браузер / URL-адрес, и это заняло некоторое время и так и не закончилось, сервер завис, и мне пришлось его перезапустить. Я предполагаю, что этого не должно было случиться, но я боялся снова запускать cron.

Теперь, где я могу увидеть задания cron? как я могу увидеть, что задание cron уже существует, но перестало работать, где я могу найти журналы, под каким пользователем будет запускаться этот cron?

Это сервер openSuse

Я пробовал эти команды:

  1. crontab -u apache2 -e
  2. crontab -u apache -e
  3. crontab -u www-data -e
  4. crontab -u root -e ‹- открывает новый файл и говорит, что его не существует, поэтому он будет создан.

Ни один из них не работает.

Пожалуйста, помогите мне найти любые существующие задания cron, журналы, каким будет пользователь cron для moodle 2.5 (это не root, apache, www-data и т. д.), я хотел бы увидеть, почему они остановились, или чтобы я мог как-то вернуть их обратно .


person user2958159    schedule 05.11.2013    source источник
comment
Принадлежит unix.stackexchange.com   -  person Cory Klein    schedule 06.11.2013


Ответы (1)


1. Проверьте пользователя веб-сервера

Обычно задания cron выполняются с использованием того же пользователя веб-сервера (чтобы узнать: Получить пользователя apache linux из php). В дистрибутиве, подобном debian, это www-data, в OpenSuse я думаю, что это wwwrun.

2. Проверьте определенные задания cron

После этого вы можете проверить задания cron, как вы уже сказали (в любом случае, Moodle не определяет задания cron при установке, возможно, они не были определены заранее, или что-то или кто-то удалил задания?)

$ sudo crontab -u wwwrun -e

or:

$ sudo -u wwwrun crontab -e

Обычно задание cron Moodle выглядит примерно так:

*/15 * * * * /usr/bin/php  /path/to/moodle/admin/cli/cron.php >/dev/null

Но он также может быть указан в файле (внимательно прочитайте Cron на Moodle Wiki).

3. Проверьте, работает ли задание cron

Чтобы проверить, работает ли cron, посмотрите здесь: Причины, по которым crontab не работает .

Примечания

Я был бы осторожен перед установкой cronjob, если бы он мог убить ваш сервер.. :) Я бы попытался запустить скрипт напрямую из командной строки, чтобы посмотреть, все ли будет работать нормально. Что-то вроде этого:

sudo -u wwwrun /usr/bin/php /path/to/moodle/admin/cli/cron.php
person franzlorenzon    schedule 06.11.2013
comment
не wwwrun, пользователь существует, но я получаю то же сообщение, что и при использовании root. Команда: sudo -u wwwrun crontab -e Вывод: нет crontab для wwwrun — используется пустой - person user2958159; 06.11.2013
comment
эта ссылка, которую вы разместили, чтобы выяснить, кто такой пользователь, мне не помогает, она показывает команды php, как мне запустить PHP в оболочке? я не знаю - person user2958159; 06.11.2013
comment
Что ж, вам нужно узнать пользователя Apache. Так что было бы бесполезно запускать его в оболочке. Вы должны поместить содержимое в файл, например foo.php, в DocumentRoot apache (думаю, /srv/www/htdocs/, в вашем дистрибутиве), а затем запустить его domain-of-your-server.com/foo.php или ip-of-your-server/foo.php. - person franzlorenzon; 07.11.2013