Cron
Cron — это инструмент для автоматизации задач в Unix-подобных операционных системах, который обеспечивает автоматический запуск команд и скриптов по заданному графику. Его функциональность особенно востребована для выполнения регулярных действий, таких как создание резервных копий, очистка журналов, обновление информации и другие повторяющиеся задачи.
Основные аспекты и особенности Cron:
- Cron-таблицы (crontab): В системе cron существует специальный файл, называемый crontab (от cron table), в котором хранятся задания и их расписание. Каждая строка в crontab-файле представляет собой задание с заданным временем выполнения и командой.
- Синтаксис расписания: Crontab использует пять полей для определения времени выполнения задания:
- Минута (0–59)
- Час (0–23)
- День месяца (1–31)
- Месяц (1–12)
- День недели (0–7), где 0 и 7 обозначают воскресенье.
Например,
30 2 * * *указывает на выполнение задачи в 2:30 ночи каждый день. - Специальные выражения: Помимо конкретных значений, crontab поддерживает специальные символы:
*— любое значение (например, любое время или любой день).,— несколько значений (например,1,15означает 1-е и 15-е число месяца).-— диапазон значений (например,1-5означает с понедельника по пятницу)./— интервал (например,*/5для запуска каждые 5 минут).
- Редактирование Cron-заданий: Пользователь может управлять своими задачами через команду
crontab -e, которая открывает файл crontab в редакторе. Системные задачи находятся в файле/etc/crontab. - Запись вывода задач: По умолчанию cron отправляет вывод выполнения задач на почту пользователю. Также можно перенаправить вывод в файл для ведения логов.
- Cron и Anacron: Cron запускает задачи по точному расписанию, но если система была выключена, когда задача должна была быть выполнена, то она не будет выполнена. Anacron, в свою очередь, предназначен для выполнения периодических задач на системах, которые не всегда работают, например, на ноутбуках.
Пример задания в crontab:
30 7 * * 1 /home/user/backup.sh
пример выполнит скрипт /home/user/backup.sh каждую неделю по понедельникам в 7:30 утра.
Основные команды для управления Cron:
crontab -e— редактировать crontab текущего пользователя.crontab -l— просмотреть текущие задания.crontab -r— удалить все задания.
Cron — незаменимый инструмент для автоматизации работы в Unix-системах, облегчая выполнение рутинных задач без вмешательства пользовател