Примеры команды CRONTAB¶
Cron (Command Run ON) — утилита для автоматического запуска программ и скриптов на сервере в определённое время. Cron очень полезен для рутинных задач, таких как сканирование системы, ежедневное резервное копирование и т.д. Cron автоматически выполняет задания в бэкенде в указанное время. Управлять cron нужно с помощью crontab. В этой статье вы увидите 18 полезных примеров команды crontab.
Синтаксис Crontab¶
Crontab имеет шесть полей. 1-5 поля определяют дату и время исполнения. 6 поле используется для команды/скрипта. Синтаксис выглядит следующим образом:

- * — соответствует чему угодно
- День недели в другом формате: mon, tue, wed
- Месяц в другом формате: jan, feb, mar
- Несколько значений в поле: 1,5,7 или mon,fri
- Диапазон: 1-10 или 20-30 или sun-fri или feb-apr
- Несколько диапазонов: jan-mar,jul-sep
Как изменить расписание¶
Чтобы добавить или обновить задания в crontab, используйте команду ниже. Откроется текстовый файл с заданиями crontab, где их можно будет редактировать.
По умолчанию откроются задачи текущего пользователя. Для редактирования задач другого пользователя используйте команду:
Как узнать список заданий Crontab¶
Для просмотра записей crontab текущего пользователя используйте команду:
Чтобы посмотреть список заданий другого пользователя, используйте -u:
1. Ежедневно в 2 часа ночи.¶
Это будет полезно для ежедневного резервного копирования.
2. Дважды в день¶
Команда ниже будет выполняться в 5 утра и 5 вечера ежедневно.
3. Каждую минуту¶
4. Каждое воскресенье в 17:00¶
Пригодится для планирования еженедельных задач.
5. Каждые 10 минут¶
Если вы хотите запустить скрипт с интервалом в 10 минут, вы можете настроить его, как показано ниже. Может быть полезно для мониторинга.
6. Определенные месяцы¶
Иногда может понадобиться запланировать задачи только на некоторые месяцы. Ниже приведен пример скрипта, который будет запущен в январе, мае и августе.
7. Определенные дни¶
Если вам необходимо составить расписание выполнения задачи только на некоторые дни. Приведенный ниже пример будет выполняться каждое воскресенье и пятницу в 17:00.
8. Первое воскресенье каждого месяца.¶
Запланировать выполнение сценария только в первое воскресенье невозможно по параметру времени, но мы можем использовать условие в полях команд, чтобы сделать это.
9. Каждые четыре часа.¶
Если вы хотите запустить скрипт с интервалом в 4 часа:
10. Дважды в каждое воскресенье и понедельник.¶
Чтобы запланировать выполнение задачи дважды только в воскресенье и понедельник:
11. Несколько задач¶
Можно запланировать несколько задач в одной записи с помощью точки с запятой:
12. Ежегодно (@yearly)¶
@yearly равно «0 0 1 1 *». Задание будет выполняться в первую минуту каждого года. Можно отправить новогодние поздравления 🙂
13. Ежемесячно (@monthly)¶
@monthly равно «0 0 1 * *». Задание будет выполняться в первую минуту месяца.
14. Еженедельно (@weekly)¶
@weekly равно «0 0 1 * mon». Задание будет выполняться в первую минуту недели.
15. Ежедневно (@daily)¶
@dailyравно «0 0 * * *». Задание будет выполняться в первую минуту каждого дня.
16. Ежечасно (@hourly).¶
@hourly равно «0 * * * *». Задание будет выполняться в первую минуту каждого часа.
17. Выполнение задач при перезагрузке системы (@reboot).¶
@reboot полезен для тех задач, которые вы хотите запустить при перезагрузке системы.
18. Отправка результатов заданий на электронную почту¶
Если вы хотите отправить вывод на почту, то это можно сделать, установив переменную MAIL, как показано ниже.