Как правильно добавить строку в crontab

cron — это системный планировщик задач в Linux. Он позволяет запускать команды по расписанию, например: каждые 15 минут отправлять запрос на сайт или запускать скрипт.

В статье разберём два способа как правильно добавить новую строку в crontab, на примере периодического запуска cron в Drupal проекте.

Простой и очевидный способ: crontab -e

Это самый привычный способ для ручного редактирования расписания задач:

После запуска команда откроет текущий крон-файл пользователя в редакторе (обычно nano или vim). В этом файле можно добавить строку, например:

Что значит эта строка:

  • */15 — каждые 15 минут
  • * * * — каждый час, день и месяц
  • /usr/bin/curl — путь к исполняемому файлу
  • -s — тихий режим (silent)
  • URL — вызываемый адрес cron-обработчика на сайте

После сохранения cron автоматически начнёт выполнять задание по расписанию.

Добавление строки через микроскрипт (без ручного редактирования)

Если вы хотите добавить задание в cron программно, не открывая редактор, используйте следующий подход:

Пояснение:

  • crontab -l — выводит текущие задания cron
  • 2>/dev/null — подавляет ошибку, если cron-файл пуст
  • echo "..." — ваша новая строка
  • Вся конструкция в скобках () собирает старые + новые задания
  • | crontab - — передаёт объединённый список обратно в cron

Такой способ безопасен: он сохраняет все существующие задачи и просто добавляет новую.

Дополнение: с heredoc (если строка многострочная)

Можно также использовать heredoc-синтаксис:

Это полезно, если вы хотите добавить несколько строк за раз или добавить комментарий перед задачей.

Заключение

Добавление заданий в cron можно делать и вручную, и программно. Если вы работаете с автоматизацией (скрипты деплоя, установка CMS и т.п.), предпочтительнее второй способ.

Как последний штрих — не забывайте проверять:

чтобы убедиться, что всё добавилось корректно.

Написать комментарий

Мало букафф? Читайте есчо !

Ошибка запуска Cron

Сентябрь 23, 2016 г.

Что делать, если запуск Cron в Drupal 6 постоянно выдаёт такую ошибку -  "Cron run failed."? Смотрим, как возникает данная ситуация в библиотеке /includes/common.inc . Функция drupal_cron_run() использует флаг для блокировки одновременного запуска: [crayon-684d49e057a80537865177/] ...

Читать

Ошибка запуска Cron в Drupal 7

Апрель 16, 2020 г.

Если запуск Cron в Drupal 7 постоянно выдаёт такую ошибку - "Cron run failed.", как исправить ситуацию? Подобная статья у меня уже была, но посвященная аналогичной проблеме в Drupal 6. Решение точно такое же - нужно удалить из базы данных ...

Читать

 

Комментарии к «Как правильно добавить строку в crontab»

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



Комментарий: