Как настроить cron в linux

Как настроить cron в linux

Полезным механизмом, обеспечивающим контроль за выполнением процессов в linux является планировщик заданий или cron, файл crontab в директории etc с помощью этого файла добавляются скрипты, задачи, которые мы можем написать для работающей системы, например для контроля работы linux системы по e-mail

Cron – служба-демон используется в linux/unix системах в качестве планировщика заданий. Демон позволяет периодически запускать скрипты на выполнение.

Создаваемые файлы помещаются или в директорию:
/usr/spool/cron/crontabs или /var/spool/cron/tabs
Редактировать их нужно только через выполнение crontab –e
В зависимости от периода выполнения файлы могут быть помещены в директории:
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

Создание заданий cron
Создание задания в crontab выглядит как заполнение шести обязательных полей, их значение следующее:
1. Минуты – цифра от 0-59
2. Часы – цифра от 0-23
3. День месяца – цифра от 1-31
4. Номер месяца в году – цифра от 1-12
5. День недели – цифра от 0-7
0-воскресенье, 1-понедельник, 2-вторник, 3-среда, 4-четверг, 5-пятница, 6-суббота
Для каждого из вышеперечисленного параметра может быть заданы значения:
а) Через запятую – 3,7,9 (в поле день месяца 3,7,9 соответственно)
б) Через дефис – 3-9 (в поле час будет означать выполнение в 3,4,5,6,7,8,9)
в) * - будет выполняться во все возможные значения
г) / - задание дополнительных периодов задания - */8 в поле минуты, будет выполняться каждую восьмую минуту

Как запустить задачу cron при загрузке системы. Для запуска скрипта при загрузке системы Linux используется ключевое слово reboot. Например:
@reboot   root    /home/scripts/mount.sh
Кроме того можно использовать еще следующие ключевые слова:
@yearly – то же что и 0 0 1 1 * (раз в год)
@daily – то же что и 0 0 * * * (раз в день)
@hourly – то же что и 0 * * * * (раз в час)

Настройка crontab

Команды для управления crontab
- просмотреть задания для текущей учетной записи
crontab –l
- просмотреть задания нужной учетной записи
crontab –u username –l
- Редактирование cron заданий
crontab –e
- Редактирование cron заданий заданного пользователя
crontab –u username –e

Примеры заданий cron:
Выполнить задание в 7 утра каждый день
0 7 * * * root /home/scripts/mount.sh
Выполнить задание в 17:30 каждый день
30 17 * * * root /home/scripts/mount.sh
Выполнить задание каждый месяц первого числа в 0 часов 0 минут
0 0 1 * * root /home/scripts/mount.sh
Выполнять задание через каждые 4 часа
* * /4 * * * root /home/scripts/mount.sh
Выполнить задание при загрузке Linux
@reboot   root    /home/scripts/mount.sh

Дополнительная настройка cron
Для того, чтобы получать отчет по заданиям cron можно определить переменную MAIL в начале cron сценария
MAIL=mail.mail.local
По умолчанию в письме будут присутствовать все сообщения выводимые сценарием, чтобы этого не происходило, нужно добавить в задании cron сценария > /dev/null 2>&1
Чтобы отключить получение сообщений от cron нужно оставить переменную MAIL не установленной
MAIL=” ”
Есть возможность определить путь до файла с скриптом используя переменную PATH, например
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/scripts, в crontab позволит писать в строке параметров задания
@reboot   root    mount.sh
Запуск сриптов через cron используя интерпретатор php
* 1 * * * /usr/local/bin/php – q mount.sh > /dev/null 2>&1
/usr/local/bin/wget –O /dev/null –q http://"site.com/cron.php?action=123"

Поделиться:

Добавить комментарий

5 + 1 =
Решите простой математический пример. Например для "два плюс четыре =?" введите "6".