cron
cron (сокр. от англ. Command Run ON) — демон-планировщик задач в UNIX-образных операционных системах, использующийся для периодического выполнения заданий в заданное время.
crontab[править | править код]
Каждый пользователь системы имеет свой файл заданий crontab, в котором описано, в какое время и какие программы запускать от имени этого пользователя. Для редактирования файла crontab используется специальная одноименная программа crontab, позволяющая не прерывать процесс cron на время редактирования.
Таблица crontab состоит из 5 колонок, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел или символ '*'. Все остальные символы в строке интерпретируются как выполняемая команда с ее параметрами. Если команда отправляет какой-нибудь текст в стандартный вывод, этот текст отправляется по e-mail пользователю.
* * * * * выполняемая команда - - - - - | | | | | | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7) | | | ------- Месяц (1 - 12) | | --------- День (1 - 31) | ----------- Час (0 - 23) ------------- Минута (0 - 59)
Пример файла crontab:
# как обычно, с символа '#' начинаются комментарии # в качестве командного интерпретатора использовать /bin/sh SHELL=/bin/sh # результаты работы отправлять по этому адресу [email protected] # добавить в PATH PATH=$PATH:$HOME/bin #### Здесь начинаются задания # выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily 5 0 * * * $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"
Графический интерфейс[править | править код]
Для удобства пользователей во многих системах есть специальные программы графического интерфейса управления cron.
Gnome Schedule[править | править код]
Kcron[править | править код]
Kcron представляет собой KDE-интерфейс для редактирования конфигурационных файлов cron. Утилита запускается по Alt+F2, в окне редактирования можно указать мышью:
- полный путь к выполняемому файлу программы
- нужное время запуска программы
- переменные окружения, необходимые во время исполнения программы
Подробнее см. руководство пользователя(русск.)
Сходные программы[править | править код]
- at — однократный запуск программ в заданное время.
- anacron — периодический запуск программ, не обязательно в точности в заданное время: например если в указанное в задании время машина была выключена
anacron
выполнит задание позже - inetd — запуск программ обслуживания сетевых запросов
- upstart — запуск программ обслуживания событий (обобщение cron, atd, anacron, inetd)
Ссылки[править | править код]
Русская энциклопедия «Традиция» Портал «Свободное программное обеспечение» |
- Man:cron — руководство по cron
- Планирование задач с помощью cron и at