
Звёздочками обозначены конкретные блоки времени.
Для отображения содержимого crontab-файла текущего пользователя используйте команду:
$ crontab -l
Для редактирования заданий пользователя есть команда:
$ crontab -e
Чтобы изменить crontab-файл другого пользователя (например, ostechnix):
$ crontab -u ostechnix -e
Ниже приведены несколько примеров cron-заданий:
- Чтобы выполнять команду каждую минуту, задание должно быть такое:
* * * * * <исполняемая-команда>
- Похожее задание, только команда будет вызываться каждые пять минут:
*/5 * * * * <исполняемая-команда>
- Вызывать команду 4 раза в час (каждые 15 минут):
*/15 * * * * <исполняемая-команда>
- Чтобы выполнить команду каждый час в 30 минут, пишем:
30 * * * * <исполняемая-команда>
Т. е. команда будет выполняться не каждые 30 минут, а тогда, когда значение минут будет равно 30 (например, 10:30, 11:30, 12:30 и т. д.). - Значения времени можно комбинировать, перечислив их через запятую. Следующий код будет выполнять команду три раза в час: в 0, 5 и 10 минут.
0,5,10 * * * * <исполняемая-команда>
- Выполнять команду каждый час будет следующее задание:
0 * * * * <исполняемая-команда>
- Выполнение команды каждые два часа:
0 */2 * * * <исполняемая-команда>
- Чтобы выполнять команду каждый день (в 00:00):
0 0 * * * <исполняемая-команда>
- Выполнение команды каждый день в 03:00:
0 3 * * * <исполняемая-команда>
- Выполнение команды каждое воскресенье (sunday):
0 0 * * SUN <исполняемая-команда>
- Другой вариант задания, которое будет выполнять команду каждое воскресенье (естественно, тоже в 00:00):
0 0 * * 0 <исполняемая-команда>
- Выполнение команды каждый день с понедельника по пятницу:
0 0 * * 1-5 <исполняемая-команда>
- Следующее задание будет выполнять команду каждый месяц, 1-го числа в 00:00:
0 0 1 * * <исполняемая-команда>
- Выполнять команду в 16:15 каждого первого числа месяца будет это задание:
15 16 1 * * <исполняемая-команда>
- Выполнение команды каждые три месяца:
0 0 1 */3 * <исполняемая-команда>
- Выполнение команды в строго определённое время и месяц:
5 0 * 4 * <исполняемая-команда>
- Задание будет вызывать команду в начале каждого полугодия (в 00:00 1-го дня):
0 0 1 */6 * <исполняемая-команда>
- Выполнение команды каждый год 1-го января в 00:00:
0 0 1 1 * <исполняемая-команда>
Ещё существуют готовые задания:
@reboot
— одиночное выполнение команды при загрузке;@yearly
— раз в год;@annually
— тоже раз в год;@monthly
— раз в месяц;@weekly
— один раз в неделю;@daily
— раз в день;@midnight
— тоже раз в день;@hourly
— раз в час.
Чтобы выполнять команду каждый раз после перезапуска сервера, используйте это задание:
@reboot <исполняемая-команда>
Команда для очистки всех заданий текущего пользователя:
$ crontab -r
Чтобы узнать о подробностях, есть команда:
$ man crontab
Сайт для визуализированного создания cronhttps://crontab.guru
https://crontab-generator.org/