Включаем Cron в Nextcloud на Ubuntu/Debian

Если Вы получаете предупреждение в админ панели NextCloud вида: «Последнее задание было выполнено X дней назад. Похоже, что-то не в порядке.«

Соглавно документации и настроек, есть три варианта решения задачи:

AJAX – Выполнять одно задание с каждой загруженной страницей

По умолчанию Nextcloud использует метод планирования AJAX. Это самый простой, но не очень надёжный вариант. При каждом посещении пользователем web-страницы Nextcloud выполняется фоновое задание. Преимущество этого варианта в том, что он не требует ни каких дополнительных настроек. Недостатком этого механизма, что для его запуска требуется регулярное посещение страницы.

Webcron – cron.php зарегистрирован в службе webcron и будет вызываться каждые 5 минут по HTTP.

в этом варианте мы регистрируем адрес скрипта cron.php, который будет запускаться внешней веб-службой cron. Адрес скрипта если вы устанавливали без поддиректорий:

http[s]://ваш_сайт.ру/cron.php

(FQDN от англ. Fully Qualified Domain Name – полностью определённое имя домена)

Для настройки вы можете воспользоваться сервисом easycron.com или аналогичным. Чтобы использовать этот вариант автоматического выполнения фоновых задач на сервере, необходимо чтобы nextcloud сервер имел доступ к серверу через Интернет.

Cron – Использовать системный cron для вызова файла cron.php каждые 5 минут. cron.php должен исполняться из под пользователя “www”.

Наиболее предпочитаемый вариант – это использование функции cron в операционной системе. Этот метод позволяет выполнять запланированные задания без ограничений. Тут достаточно наличие выделенного сервера (VDS, VPS и т.д ) или доступ к системному Cron.

Чтобы запустить задание cron в Linux, нам необходимо узнать от какого пользователя работает веб-сервер. Проверяем с помощью sockstat какой сервис слушает порты 80 и 443. Необходимо установить программу:

sudo apt install sockstat
sockstat -l | grep -E "80|443"
root     nginx           2448     tcp4   *:80              *:*                       
root     nginx           2449     tcp4   *:80              *:*                       

или при помощи netstat

netstat -tulpn | grep -E ":80|:443"
tcp  0   0 0.0.0.0:80     0.0.0.0:*       LISTEN      2448/nginx: master

Итак, настраивать будем cron от пользователя www-data (актуально для Debian/Ubuntu), на запуск вызова сценария cron.php каждый 5 минут:

sudo crontab -u www-data -e

добавляем строку в конце

*/5 *  * * * php -f /var/www/nextcloud/cron.php
  • /var/www/nextcloud/cron.php – путь до веб-директории с nextcloud.

После данных изменений предупреждение из админ-панели пропадет.

Если есть вопросы, то пишем в комментариях.

Также можете помочь проекту, заранее всем СПАСИБО!!!

.

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 1 vote
Рейтинг статьи
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Inline Feedbacks
Просмотреть все комментарии