Cron | это... Что такое Cron? (original) (raw)

cron

cronдемон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в заданное время.

Содержание

crontab

Каждый пользователь системы имеет свой файл заданий crontab, в котором описано, в какое время и какие программы запускать от имени этого пользователя. Для редактирования файла crontab используется специальная одноименная программа crontab, позволяющая не прерывать процесс cron на время редактирования.

Таблица crontab состоит из 6 колонок, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел, разделённых запятыми, диапазон чисел, разделённых тире, или символ '*'. Все остальные символы в строке интерпретируются как выполняемая команда с её параметрами. Если команда отправляет какой-нибудь текст в стандартный вывод, этот текст отправляется по e-mail пользователю.


| | | | | | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7) | | | ------- Месяц (1 - 12) | | --------- День (1 - 31) | ----------- Час (0 - 23) ------------- Минута (0 - 59)

Пример файла crontab:

как обычно, с символа '#' начинаются комментарии

в качестве командного интерпретатора использовать /bin/sh

SHELL=/bin/sh

результаты работы отправлять по этому адресу

MAILTO=paul@example.org

добавить в PATH

PATH=$PATH:$HOME/bin

Здесь начинаются задания

выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily

5 0 * * * HOME/bin/daily.job>>HOME/bin/daily.job >> HOME/bin/daily.job>>HOME/log/daily 2>&1

выполнять 1 числа каждого месяца

15 14 1 * * $HOME/bin/monthly

каждый рабочий день в 22:00

0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john

23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д." 5 4 * * sun echo "Выполняется в 4:05 в воскресенье" 0 0 1 1 * echo "С новым годом!" 15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15" 0-59 * * * * echo "Выполняется ежеминутно"

Пример Сrontab в Ubuntu 9.10

Редактируем от пользователя user

sudo crontab -e -u user

где user -пользователь от имени которого будет производиться запуск.

m h dom mon dow command

запускаю eMule ночью в 1 час ночи 10 минут

10 1 * * * export DISPLAY=:0 && amule

Останавливюа Emule утром в 10 часов 10 минут

10 10 * * * export DISPLAY=:0 && killall amule

export DISPLAY=:0 && -Выводим на дисплей (если есть что выводить)

Перезапускаем cron

sudo /etc/init.d/cron restart

Графический интерфейс

Для удобства пользователей во многих системах есть специальные программы графического интерфейса управления cron.

Gnome Schedule

Для Debian-based дистрибутивов:

Kcron

Kcron представляет собой KDE-интерфейс для редактирования конфигурационных файлов cron. Утилита запускается по Alt+F2, в окне редактирования можно указать мышью:

Подробнее см. руководство пользователя(рус.)

Сходные программы

Ссылки

Heckert GNU white.svg В Википедии есть портал «Свободное программное обеспечение»
Стандартные программы UNIX (все программы)
Файловые системы chrootdddffdiskfsckgrublilomke2fs • mkreiserfs • mkisofsmkswapmountumount
Файлы и каталоги catchattrcdchmodchownchgrpcksumcmpcpdiffdufilefuserlnlslsofmkdirmv • od • pwdrmrmdirsplittouch
Процессы atcrontabexitkillkillallnicenohuppgreppidofpkillpsrenicesleeptimetopwaitwatch
Пользователи envfingeridlognamemesgpasswdsusudouptimewwallwhowhoamiwrite
Сеть ftp • hostifconfignetcatnetstatnmapnslookuppingrloginsshtraceroutewget
Тексты AWKcommcutedex • expand • unexpand • fmtheadiconvjoinlessmorepaste • pr • sedsorttactailtruniqwcxargs
Командная строка aliasbasenamebashbinddirnameechoexprfalseprintftesttrueunset
Поиск findgrepstringswhereiswhich
Разное bannerbccaldate • help • lpman • history • sizeteeunameyes

Wikimedia Foundation.2010.