FreeBSD - cron - системный планировщик


Материал из Wiki - Iphoster - 'the best ever support'

Перейти к: навигация, поиск

Самые выгодные сервера? в рунете


FreeBSD - cron - системный планировщик

cron - системный планировщик, применяемый для многократного выполнения заданий в указанные периоды времени
cron - демон, т.е работает в фоновом режиме


crontab - утилита для модифицирования инструкций для cron

У каждого пользователя может быть свой crontab файл
cron.deny, cron.allow - файлы для root, которые запрещают или разрешают пользователям использовать crontab

Структура crontab файла:

Запись  - 6 полей
1 - минуты (0-59)
2 - часы (0-23)
3 - день месяца(1-31)
4 - месяц (1-12)
5 - день недели (0-7, 0 и 7 означает воскресенье)
, - задание списка значений
- - промежуток времени
*  - каждый день, каждую неделю
#  - комментарий

Просмотр crontab файла:

%crontab -l

Бэкап crontab файла:

%crontab -l > ~/backupcron

Удаление crontab файла:

%crontab -r

Восстановление crontab файла:

% crontab ~/backupcron

Редактирование crontab файла с помощью редактора, определенного в $EDITOR:

%crontab -e

Создать crontab файл для пользователя gx1:

% crontab -u gx1 -e

Примеры
Каждые 11 минут

*/11    *       *       *       *       root /usr/file.sh

Каждые 30 минут с 17:00 по 23:00

0,30    17-21       *       *       *       root /usr/libexec/file.sh

Выполняем что-то каждую минуту, результат и обшибки шлем в /dev/null

*/1 * * * * gx1 /home/traf/rrd/update.sh > /dev/null 2>&1

Переменная PATH - путь к исполняемым файлам, можно не писать полный путь

PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin


Instead of the first five fields, one of eight special strings may
appear:
string meaning
------ -------
@reboot      Run once, at startup.
@yearly       Run once a year, "0 0 1 1 *".
@annually  (same as @yearly)
@monthly   Run once a month, "0 0 1 * *".
@weekly    Run once a week, "0 0 * * 0".
@daily        Run once a day, "0 0 * * *".
@midnight   (same as @daily)
@hourly      Run once an hour, "0 * * * *".
Индекс цитирования