 | Использование crontab - планировщика заданий Linux
|
Статья посвящена описанию использования планировщика заданий crontab.
crontab - используется для выполнения заданий по заданному графику. Программа аналогичная task sheduler в Windows
1. Установка crontab
Для начала необходимо проверить текущие настройки crontab, а так же установлен ли crontab в системе. Текущую конфигурацию crontab покажет команда:
#crontab -l
и если ответом на команду выводится сообщение
-bash: crontab: command not found
это означает необходимость установки crontab в систему.
Для выполнения установки выполните команду:
#yum install cronie
2. Использование crontab

Для указания периода использования crontab используется 5 полей для указания времени запуска команды [command]
Возможны следующие варианты задания параметров: |
* | соответствует любому периоду |
диапазон | позволяет определить диапазон: например 1-10 или 20-30 или sun-fri или feb-apr |
несколько диапазонов | можно определять несколько диапазонов, через перечисление: например jan-mar,jul-sep |
- добавление команд в планировщик от текущей учетной записи
#crontab -e
- добавление команд в планировщик для запуска от другой учетной запису (вместо username укажите требуемую учетную запись)
#crontab -u username -e
- просмотр заданий планировщика текущей учетной записи
#crontab -l
- просмотр заданий планировщика другой учетной записи (вместо username укажите требуемую учетную запись)
3. Примеры использования crontab
- ежедневный запуск backup.sh в 2 часа
0 2 * * * /bin/sh backup.sh
- ежедневный запуск script.sh 2 раза в день (в 5:00 и 17:00)
0 5,17 * * * /scripts/script.sh
- ежеминутный запуск script.sh
* * * * * /scripts/script.sh
- запуск каждое воскресенье в 17 часов
0 17 * * sun /scripts/script.sh
- запуск каждые 10 минут
*/10 * * * * /scripts/monitor.sh
- запуск в выбранные месяцы (январь, май, август)
* * * jan,may,aug * /script/script.sh
- запуск каждую пятницу и воскресенье в 17 часов
0 17 * * sun,fri /script/script.sh
- запуск каждое первое воскресенье каждого месяца
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
- запуск каждые 4 часа
0 */4 * * * /scripts/script.sh
- запуск каждый понедельник и воскресенье в 4 и 17 часов
0 4,17 * * sun,mon /scripts/script.sh
- запуск каждые 30 секунд, используя 2 задания
* * * * * /scripts/script.sh
* * * * * sleep 30; /scripts/script.sh
- запуск двух заданий в одном плане запуска
* * * * * /scripts/script.sh; /scripts/scrit2.sh
- ежегодный запуск, оператор @yearly заменяет "0 0 1 1 *"
@yearly /scripts/script.sh
- ежемесячный запуск, оператор @monthly заменяет "0 0 1 * *"
@monthly /scripts/script.sh
- еженедельный запуск, @weekly - "0 0 1 * mon"
@weekly /bin/script.sh
- ежедневный запуск, @daily - "0 0 * * *"
@daily /scripts/script.sh
- запуск каждую первую минуту часа, @hourly - "0 * * * *"
@hourly /scripts/script.sh
- запуск при перезагрузке
@reboot /scripts/script.sh
- отправка результата на email
# crontab -l
MAIL=user1
0 2 * * * /script/backup.sh
4. Заключение
В данной статье рассмотрен планировщик заданий crontab, его установка, параметры использования, а так же примеры использования.

 (online network tools and utilities) |
|