11 примеров настройки выполнения регулярных задач с помощью Cron в Linux

11 примеров настройки выполнения регулярных задач с помощью Cron в Linux

Рубрики:

Cron

Метки:

, , ,

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

Работа с регулярными заданиями вручную является рутинной, а самое главное очень времязатратной задачей для системного инженера. Такой процесс можно планировать и запускать автоматически в фоновом режиме без вмешательства человека с помощью службы cron в Linux или Unix-подобных операционных системах.

Читайте также: Как создавать и управлять заданиями с помощью Cron в Linux?

Например, вы можете автоматизировать такие процессы, как резервное копирование, расписание обновлений и синхронизация файлов и многое другое. Cron — это служба для запуска задач по расписанию. Cron просыпается каждую минуту и ​​проверяет расписание задач в crontable. Crontab (CRON TABle) — это таблица, в которой мы можем планировать такие регулярные, повторяющиеся задачи.

Советы: каждый пользователь может иметь свой собственный crontab для создания, изменения и удаления задач. По умолчанию cron включен для пользователей, однако мы можем ограничить добавление записи в файл /etc/cron.deny.

11 примеров настройки выполнения регулярных задач с помощью Cron в Linux

Файл Crontab состоит из команд в строках и фактически имеет шесть полей разделенных пробелами или табуляцией. Первые пять полей представляют собой информацию о времени для запуска задач, а так же поле для самой команды:

  • Минуты (содержит значения от 0 до 59)
  • Часы (содержит значения от 0 до 23)
  • День месяца (содержит значения от 1 до 31)
  • Месяц года (содержит значения от 1 до 12 или в текстовом формате — JanDec, вы можете использовать первые три буквы названия каждого месяца, т.е. Jan или Jun.)
  • День недели (содержит значения от 0 до 6 или SunSat. Здесь также можно использовать первые три буквы названия каждого дня, т.е. Sun или Sat.)
  • Команды

1. Список записей Crontab

Выведите весь список задачь с помощью команды crontab с опцией -l для текущего пользователя:

2. Как отредактировать записи Crontab?

Чтобы отредактировать запись в crontab, используйте опцию -e, как показано ниже. В приведенном ниже примере откроется расписание заданий в редакторе VI. Внесите необходимые изменения и закройте редактор нажатием :wq, чтобы автоматически сохранить новые настройки:

3. Список запланированных Cron Jobs

Чтобы вывести список запланированных заданий конкретного пользователя с именем tecmint, используйте опции: -u (для поиска по пользователю) и -l (для вывода списоком):

Примечание: только пользователь root имеет полные права для просмотра записи crontab других пользователей. Обычный пользователь не может просматривать задачи созданные другими пользователями.

4. Удаление записи Crontab

Внимание: Crontab с параметром -r удалит запланированные задания без дополнительного подтверждения. Используйте опцию -i перед удалением пользовательской задачи crontab.

5. Запрос подтверждения перед удалением Crontab

Опция -i предложит вам подтверждение действия перед удалением пользовательской задачи crontab:

6. Допустимые специальные символы (*, -, /,?, #)

  • Звездочка (*) — сопоставить все значения в поле или любое возможное значение.
  • Дефис () — для определения диапазона.
  • Косая черта (/) — /10, означает выполнять каждые десять минут или увеличить диапазон.
  • Запятая (,) — используется для разделения элементов.

7. Общесистемное расписание Cron

Системный администратор может использовать предопределенный каталог cron, как показано ниже:

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.hourly
  • /etc/cron.monthly
  • /etc/cron.weekly

8. Выполнение задачи в определенное время

Приведенные ниже задания удаляют пустые файлы и каталог из /tmp в 12:30 ежедневно. Вам необходимо указать имя пользователя для выполнения команды crontab. В приведенном ниже примере пользователь root выполняет задание cron:

9. Специальные строки для общего расписания

Строки  Значения
@reboot  Команда будет выполнена при перезагрузке системы.
@daily  Задача будет выполняться один раз в день или же можете использовать команду @midnight.
@weekly  Задача будет выполняться один раз в неделю.
@yearly  Задача будет выполняться один раз в год. Также можно использовать ключевое слово @annually.

10. Выполнение нескольких команды используя двойной амперсанд (&&)

В следующем примере команды command1 и command2 выполняются ежедневно:

11. Отключение уведомлений по электронной почте.

По умолчанию, cron отправляет уведомление, на почту привязаную к учетной записи пользователя, выполняя cronjob. Если вы хотите отключить данную функцию, добавьте следущую задачу для cron, как показано ниже. Использование параметра >/dev/null 2>&1 в конце файла перенаправит весь вывод результатов cron в /dev/null:

Итоги

Автоматизация задач с помощью cron может помочь вам выполнить ваши задачи лучше, эффективнее и что самое важное — без каких-либо ошибок. Вы можете обратиться к странице справочника crontab для получения дополнительной информации, выполнив команду man crontab в своем терминале.

Cпасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Cron

Метки:

, , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню