Используем cron в FreeBSD
08.11.2010 - 12:02
Сам конфигурационный файл cron находится в /etc/crontab и выглядит по дефолту так:
Вот, еще наглядный пример:
В этой заметке хочу рассказать, что такое cron и с чем его едят.
cron - это планировщик заданий, который используется в UNIX-подобных ОС. Этот демон призван выполнять задания по расписанию (т.е. в заданный промежуток времени).
Демон крона находится тут:
[root@router /]# /etc/rc.d/cron
[root@router ~]# cat /etc/crontab
#Для рандомизации, используется в криптографических механизмах - SSH, SSL.
*/11 * * * * operator /usr/libexec/save-entropy
# Ротация лог-файлов каждый час, если это необходимо.
0 * * * * root newsyslog
# Cодержимое каталога /etc/periodic/daily будет запускаться каждых 3 часа на первой минуте часа.
1 3 * * * root periodic daily
# Cодержимое каталога /etc/periodic/weekly будет запускаться каждую суботу на 15'ой минуте 4'го часа.
15 4 * * 6 root periodic weekly
# Содержимое каталога /etc/periodic/monthly будет запускаться каждый первый день месяца на 30'ой минуте 5'го часа.
30 5 1 * * root periodic monthly
#Установите часовой пояс, если часы CMOS настроены по местному времени, в отличие от UTC времени
1,31 0-5 * * * root adjkerntz -a
# Для примера:
#MRTG
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg --logging /usr/local/www/data/mrtg/tun0.log
#PFSTAT
#*/5 * * * * root /usr/local/bin/pfstat -p -q -r 192.168.1.1:9999 -c /etc/pfstat.conf
#SARG_DAY
*/30 * * * * root /usr/local/bin/sarg_1 > /dev/null 2>&1
#SARG_ALL
#*/30 * * * * root /usr/local/bin/sarg > /dev/null 2>&1
#CLAM_AV
0 2 * * * root /usr/local/bin/freshclam
#SQUID_ROTATE_LOG
0 0 1 * * root /usr/local/sbin/squid -k rotate
#PORTS_UPDATE
0 5 * * 0 root /mnt/cvs_update.sh > /dev/null 2>&1
#BACKUP_LOCAL
0 3 * * * root /mnt/backup.sh > /dev/null 2>&1
#PPPOE_RECONNECT
*/60 * * * * root /mnt/reconnect.sh > /dev/null 2>&1
#NTP_SYNC
0 21 * * * root /usr/local/bin/ntpdate -q 127.0.0.1 > /dev/null 2>&1
#FSBACKUP
0 4 * * * root /usr/local/fsbackup/create_backup.sh | mail -s "`uname -n` backup report" root
#Delete old log files for SAMBA
0 6 1 * * root /bin/rm -f /var/log/samba/*.old
*/11 * * * * operator /usr/libexec/save-entropy
# Ротация лог-файлов каждый час, если это необходимо.
0 * * * * root newsyslog
# Cодержимое каталога /etc/periodic/daily будет запускаться каждых 3 часа на первой минуте часа.
1 3 * * * root periodic daily
# Cодержимое каталога /etc/periodic/weekly будет запускаться каждую суботу на 15'ой минуте 4'го часа.
15 4 * * 6 root periodic weekly
# Содержимое каталога /etc/periodic/monthly будет запускаться каждый первый день месяца на 30'ой минуте 5'го часа.
30 5 1 * * root periodic monthly
#Установите часовой пояс, если часы CMOS настроены по местному времени, в отличие от UTC времени
1,31 0-5 * * * root adjkerntz -a
# Для примера:
#MRTG
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg --logging /usr/local/www/data/mrtg/tun0.log
#PFSTAT
#*/5 * * * * root /usr/local/bin/pfstat -p -q -r 192.168.1.1:9999 -c /etc/pfstat.conf
#SARG_DAY
*/30 * * * * root /usr/local/bin/sarg_1 > /dev/null 2>&1
#SARG_ALL
#*/30 * * * * root /usr/local/bin/sarg > /dev/null 2>&1
#CLAM_AV
0 2 * * * root /usr/local/bin/freshclam
#SQUID_ROTATE_LOG
0 0 1 * * root /usr/local/sbin/squid -k rotate
#PORTS_UPDATE
0 5 * * 0 root /mnt/cvs_update.sh > /dev/null 2>&1
#BACKUP_LOCAL
0 3 * * * root /mnt/backup.sh > /dev/null 2>&1
#PPPOE_RECONNECT
*/60 * * * * root /mnt/reconnect.sh > /dev/null 2>&1
#NTP_SYNC
0 21 * * * root /usr/local/bin/ntpdate -q 127.0.0.1 > /dev/null 2>&1
#FSBACKUP
0 4 * * * root /usr/local/fsbackup/create_backup.sh | mail -s "`uname -n` backup report" root
#Delete old log files for SAMBA
0 6 1 * * root /bin/rm -f /var/log/samba/*.old
Формат значений полей crontab:
минута час день_месяца месяц день_недели пользователь команда_для_выполнения
-------------------------------------------------------------------------------------------------------
Допустимые значения:
минута: от 0 до 59
час: от 0 до 23
день_месяца: от 1 до 31
месяц: от 1 до 12 (можно три буквы из названия месяца, регистр не имеет значения от jan до dec)
день_недели: от 0 до 7 (0,7 это воскресенье, можно писать от sun до sat)
пользователь: от лица которого будем выполнять ту, или иную команду.
команда_для_выполнения: путь к выполняемому скрипту или команда.
-------------------------------------------------------------------------------------------------------
Допустимые значения:
минута: от 0 до 59
час: от 0 до 23
день_месяца: от 1 до 31
месяц: от 1 до 12 (можно три буквы из названия месяца, регистр не имеет значения от jan до dec)
день_недели: от 0 до 7 (0,7 это воскресенье, можно писать от sun до sat)
пользователь: от лица которого будем выполнять ту, или иную команду.
команда_для_выполнения: путь к выполняемому скрипту или команда.
Вот, еще наглядный пример:
- Войдите на сайт для отправки комментариев
- Версия для печати