В этой статье содержится информация о настройке заданий cron в RedHat Enterprise Linux (RHEL) 6.
Задания Cron позволяют системным администраторам планировать задачи. Существует несколько способов настройки таких запланированных задач. В этой статье описывается использование каталогов cron и crontab.
Содержание
1. Каталоги
Cron2. См. Crontab
1. Каталоги Cron
- Существует четыре каталога cron:
- /etc/cron.hourly/
- /etc/cron.daily/
- /etc/cron.weekly/
- /etc/cron.monthly/
- Сценарии в этих каталогах будут выполняться регулярно (каждый час, день, неделю или месяц)
- Идеально подходит для запланированных задач, которые не должны выполняться в определенный день, в определенное время и т.д.
- Скопируйте сценарий в соответствующую папку
- Убедитесь, что у сценариев есть разрешения для файлов 755 или -rwxr-xr-x
- # chmod 755 scriptfile.sh
- По умолчанию:
- /etc/cron.daily запускается в 0305 (3:05)
- /etc/cron.weekly запускается в 0325 (3:25)
- /etc/cron.monthly запускается в 0345 (3:45)
- Просмотр текущей конфигурации:
- # cat /etc/anacrontab
- Используйте любой редактор для редактирования /etc/anacrontab
- Изменение конфигурации:
- Время, в течение которого сценарии будут выполняться в этих каталогах:
2. Crontab
- Системные администраторы могут использовать crontab для создания заданий cron, чтобы запланировать выполнение задач на определенную дату и время
- Использование crontab аналогично использованию редактора vi
- Использование:
- Редактирование задания cron:
- Список заданий cron для текущего вошедшего в систему пользователя:
- # crontab -l
- # crontab -l -u username
Примечание. Замените 'username' на соответствующего пользователя.
- # crontab -r
- # crontab -r -u username
Примечание. Замените 'username' на соответствующего пользователя.
- Список заданий cron для другого пользователя:
- Удаление заданий cron для текущего вошедшего в систему пользователя:
- Удаление заданий cron для другого пользователя:
- M H D Mo W /path/to/script
- M = минута (от 00 до 59)
- H = час (от 00 до 23)
- D = день (от 01 до 31)
- Mo = месяц (от 01 до 12)
- W = день недели (от 0 до 6 .. 0 = воскресенье)
- Используйте * для обозначения каждого часа, дня и т. д.
- Пример:
- 30 02 15 6 * /root/scriptfile.sh
- Выполняет /root/scriptfile.sh 15 июня в 02:30
- 30 02 * * 0 /root/scriptfile.sh
- Выполняет /root/scriptfile.sh каждое воскресенье в 02:30
- Пример:
- 30 02,14 15 6 * /root/scriptfile.sh
- Выполняет /root/scriptfile.sh 15 июня в 02:30 и 14:30
- Пример:
- 30 02-05 * * 0 /root/scriptfile.sh
- Выполняет /root/scriptfile.sh каждое воскресенье в 2:30, 3:30, 4:30 и 5:30
- @yearly — выполнение сценария каждый год
- @monthly — выполнение сценария каждый месяц
- @weekly — выполнение сценария каждую неделю
- @daily — выполнение сценария каждый день
- @hourly — выполнение сценария каждый час
- @reboot — выполнение сценария при каждой перезагрузке
- Используйте эти переменные вместо формата M H D Mo W
- Пример:
- @monthly /root/scriptfile.sh
- Выполняет /root/scriptfile.sh в первый день каждого месяца
- Пример:
- Используйте «,» для обозначения нескольких часов, дней и т. д.
- Используйте «-» для обозначения интервала в несколько часов, дней и т. д.
- Дополнительные переменные:
- Форматирование записей:
В начало