27 октября 2019 г.
Время чтения: 2 минуты

Главное о работе с cron на VPS

С планировщиком задач cron вы можете автоматически запускать на вашем Linux-сервере скрипты и программы в заданное время. Все задания cron прописываются в файле crontab, который создаётся одноимённой командой. Поговорим о том, как необходимо работать с такими файлами и как правильно указывать периодичность выполнения заданий в них.

Для работы с cron без панели управления, через консоль, необходимо подключение к серверу по SSH. Используйте команду crontab -e, чтобы создать свой первый файл для заданий. После этого должен запуститься редактор для работы с cron и, вероятнее всего, это будет vi. Если вас он не устраивает, вы можете выбрать любой другой из доступных редакторов с помощью команды select-editor. Команда crontab -e впоследствии позволяет редактировать выбранный файл расписания, crontab -l - выводить его содержимое, а crontab -r — удалять файл. Создать новый файл можно с помощью команды crontab имя_файла.

Чтобы включить отправку уведомлений на электронную почту о результатах выполнения команд из файла crontab, добавьте в файл строчку с указанием нужного адреса:

MAILTO= вашадрес@example.com

При этом можно указать не один, а сразу несколько адресов через запятую. А отключить эту функцию можно, указав в конце задачи команду > /dev/null 2>&1.

Теперь поговорим о планировании заданий. Частота выполнения задаётся с помощью пяти блоков: минуты, часы, день месяца, месяц, день недели. Они прописываются в задании именно в таком порядке. Диапазоны основных допустимых значений:

  • минуты: от 0 до 59;
  • часы: от 0 до 23;
  • день месяца: от 1 до 31;
  • месяц: от 1 до 12 (январь — 1, февраль — 2 и т. д.);
  • день недели: от 1 до 7 (понедельник — 1, вторник — 2 и т. д.).

Также в каждом из блоков может использоваться знак астерикса (*), который обозначает все допустимые значения. То есть астерикс в блоке с минутами позволит выполнять задание каждую минуту, в блоке с часами — каждый час и так далее.

Значения необязательно указываются только числами из диапазонов. В блоке можно прописывать сразу несколько значений, для этого их нужно написать через запятую без пробела. Также можно обозначать интервалы, используя дефис: 2-10, 45-55. Эти интервалы в блоке минут говорили бы о том, что задание должно запускаться каждую минуту начиная со 2-ой и заканчивая 10-ой либо с 45-ой по 55-ую. А указать нужную периодичность можно с помощью астерикса, наклонной черты и числового значения после неё. */2 в блоке часов означает, что задание должно запускаться каждые два часа. Разбору конкретных примеров написания заданий мы посвятим одну из наших следующих статей.

Шестым блоком в задании указывается нужный файл. Необходимо прописывать абсолютный путь к нему, а также быть уверенным, что права доступа к нему позволяют вам хотя бы запускать этот файл. Отдельно стоит сказать о PHP-скриптах: для их запуска через cron требуется специальный интерпретатор, который определяется в зависимости от провайдера. А чтобы не иметь дело с интерпретаторами, можно воспользоваться программой wget.

Ограничений по использованию cron нет, однако если сервер будет перегружаться, то тогда будет установлено ограничение на использование cron чаще, чем раз в час или раз в несколько минут. В остальных случаях вы вполне можете использовать этот планировщик заданий для повышения качества работы с вашим сервером.

Установка сертификатов Минцифры на серверы

Как URL-адреса влияют на SEO-продвижение

Рекомендуем

Домен .SALE: как купить его за 790 ₽ и для каких сайтов использовать

Защита PHP-сайта: зачем подключать услугу «Антивирус для PHP-сайтов» на хостинге

© Джино, 2003–2024. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017.
Правовая информация Политика конфиденциальности Карта сайта