Хотя использование процессов важно, это также прекрасная возможность представить мощный инструмент для автоматизации 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.