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

0 Comments
nextcloud-logo

Если Вы получаете предупреждение в админ панели 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.

Резервное копирование базы данных и сайта по SSH в Linux
backup-wordpress

В этой статье я расскажу, как настроить резервное копирование с помощью ssh и cron в Linux дистрибутивов. Как нетрудно догадаться, Читать

Удаление файлов старше определённого времени на Linux
linux-logo

Нужна команда для удаления файлов старше, определенного времени? Для реализации данного решения мы опять будем использовать нашу команду

Как отключить отправку почты cron-ом?
linux-logo

Как отключить Cron email-уведомления о положительном выполнении в Linux. Это сделать очень просто!!! Если вы устали получать email уведомления от Читать

Ошибка “PHP Startup: Unable to load dynamic library ‘xmlrpc.so’ “
php-logo

NextCloud на Ubuntu Server в журнале первого выходила постоянная Ошибка "PHP Startup: Unable to load dynamic library 'xmlrpc.so' "

5 2 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

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

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

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: