8. Планировщик заданий Cron

Хотя использование процессов важно, это также прекрасная возможность представить мощный инструмент для автоматизации Linux: демон cron. Эта фоновая служба позволяет вам планировать задачи для автоматического выполнения в определенное время или с определенными интервалами. Эти запланированные задачи обычно известны как cron-задания (cron jobs). Это невероятно полезно для автоматизации рутинных действий, таких как запуск скрипта резервного копирования каждую ночь или очистка временных файлов раз в неделю.

Что такое Cron-задания

Представьте, что у вас есть скрипт по адресу /home/pete/scripts/change_wallpaper, который вы запускаете каждое утро, чтобы установить новый фон рабочего стола. Вместо того чтобы запускать его вручную каждый день, вы можете создать cron-задание, чтобы оно выполнялось за вас. Определив расписание, вы можете точно указать службе cron, когда запускать ваш скрипт, что делает его настоящим решением по принципу «настроил и забыл».

Понимание синтаксиса Crontab

Чтобы создать cron-задание, вам необходимо указать расписание и команду для выполнения. Расписание определяется пятью полями, за которыми следует команда.

30 08 * * * /home/pete/scripts/change_wallpaper

Пять полей времени и даты, слева направо:

  • Минута: 0-59
  • Час: 0-23 (в 24-часовом формате)
  • День месяца: 1-31
  • Месяц: 1-12
  • День недели: 0-7 (где 0 и 7 обозначают воскресенье)

Звездочка (*) в поле действует как подстановочный знак, означающий «каждый». В приведенном выше примере расписание 30 08 * * * указывает cron запустить команду в 8:30 утра, каждый день месяца, каждый месяц и каждый день недели.

Управление Cron-заданиями с помощью Crontab

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

Чтобы добавить или отредактировать ваши cron-задания, используйте флаг -e (edit/редактировать). Это откроет ваш файл crontab в редакторе текста по умолчанию.

crontab -e

Как только вы добавите определение задания и сохраните файл, cron автоматически прочитает новое расписание. Вы также можете просмотреть свои активные cron-задания с помощью crontab -l или удалить их все с помощью crontab -r. Использование cron-заданий является фундаментальным навыком для всех, кто интересуется автоматизацией Linux.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Эта практическая лаборатория поможет закрепить ваше понимание того, как планировать задачи в Linux.

  1. Планирование задач с помощью at и cron в Linux - Практикуйтесь в создании, управлении и удалении заданий с помощью at, atq, atrm и crontab, получая практический опыт автоматизации задач системного администрирования.

Эта лаборатория поможет вам применить концепции из этого урока в реальном сценарии и укрепить вашу уверенность в автоматизации Linux.

Тест

Какая команда используется для редактирования ваших личных cron-заданий? (Пожалуйста, ответьте, используя точную команду в нижнем регистре и ее опцию.)