Как запустить скрипт по расписанию (cron)?

Для того, чтобы настроить запуск скрипта по расписанию, мы разберем раздел «Задания Cron» в панели управления сервером cPanel. На разных панелях управления настройка Cron отличается в деталях, но в целом процедура одинакова.

Cron — это программа, которая представляет собой планировщик задач в UNIX-подобных операционных системах. В определенное время она автоматически выполняет задания.

Например, нам нужно создавать резервную копию базы данных каждый день. Для начала, в системе Руководитель на странице «Резервное копирование базы данных» находим путь к PHP скрипту, который нужно выполнить:

Резервное копирование с помощью cron: /home/yourlogin/public_html/pm/cron/backup.php

Далее заходим в панель управления сервером и выбираем пункт меню «Задания Cron»

В открывшемся окне, вы увидите несколько разделов. Первым идет электронная почта. Введите ваш адрес электронной почты, и если при выполнении скрипта возникнут ошибки, вам придет уведомление.

Вторым идет раздел «Добавить новое задание Cron». Как раз в нем вы и сможете настроить запуск нужного вам скрипта.

В списке «Общие параметры» выбираем «Раз в день» и в поле «Команда» вводим

php /home/yourlogin/public_html/pm/cron/backup.php

Внимание: данная команда не является универсальной и разные сервера могут иметь разные параметры для запуска Cron. Поэтому перед установкой Cron свяжитесь со службой поддержки вашего сервера и попросите пример команды для запуска Cron.

Вот несколько распространенных команд:

php -f /home/yourlogin/public_html/pm/cron/backup.php
/usr/bin/php /home/yourlogin/public_html/pm/cron/backup.php
/usr/local/bin/php /home/yourlogin/public_html/pm/cron/backup.php

Запустить cron вручную

Для запуска крона по http ссылке необходимо отключить файл .htaccess в папке cron/. Просто переименуйте этот файл. Это даст возможность выполнить cron файл по http ссылке, пример:

http://[ваш сайт]/cron/backup.php

Иногда на сервере может быть запрещено выполнение php команды. В таком случае используйте ссылку выше для запуска wget команды.