cron

cron

Содержание

cron — демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными в файлы crontab, которые находятся в каталоге[1]:

/usr/spool/cron/crontabs

или

/var/spool/cron/crontabs

редактировать их вручную не рекомендуется, для этого используют команду crontab -e.

Основной файл конфигурации cron, /etc/crontab, выглядит примерно так:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user  command
 17 *  *   *   *  root   cd / && run-parts --report /etc/cron.hourly
 25 6  *   *   *  root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
 47 6  *   *   7  root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
 52 6  1   *   *  root   test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Замена текстового редактора для crontab

По умолчанию crontab использует vi в качестве текстового редактора. Сменить редактор можно командой

export EDITOR='mcedit' 

или

export EDITOR='pico' 

crontab

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

Для редактирования файла crontab вашего пользователя используется команда[2]:

crontab -e

Таблица 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/log/daily 2>&1
 # выполнять 1 числа каждого месяца в 14 часов 15 минут
 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 "Выполняется ежеминутно"
 0-59/2 * * * * echo "Выполняется по четным минутам"
 1-59/2 * * * * echo "Выполняется по нечетным минутам"
 # каждые 5 минут
 */5 * * * * 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 && -Выводим на дисплей (если есть что выводить)

часто этого не достаточно для запуска графических приложений, для возможности локально подключаться к X серверу необходимо добавить

 xhost +local: 

в файл .profile находящийся в домашнем каталоге пользователя.

Стоит добавить, чтобы задачи выполнялись корректно, необходимо в конце файла с заданием оставить пустую строку, которая создается crontab по умолчанию.[3]

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

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

Gnome Schedule

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

  • Установка: sudo apt-get install gnome-schedule
  • Запуск: Applications → System tools → Schedule [1]

Kcron

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

  • полный путь к выполняемому файлу программы
  • нужное время запуска программы
  • переменные окружения, необходимые во время исполнения программы

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

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

  • NnCron — наиболее продвинутый планировщик для Windows
  • at — однократный запуск программ в заданное время.
  • anacron — периодический запуск программ, не обязательно в точности в заданное время: например если в указанное в задании время машина была выключена anacron выполнит задание позже
  • inetd — запуск программ обслуживания сетевых запросов
  • upstart — запуск программ обслуживания событий (обобщение cron, atd, anacron, inetd)

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "cron" в других словарях:

  • Cron — is a time based scheduling service in Unix like computer operating systems. cron is short for chronograph . [ [http://drupal.org/node/937#cron Drupal Terminology Page] ] cron has been recreated several times in its history. Design cron is driven… …   Wikipedia

  • Cron — демон планировщик задач в UNIX подобных операционных системах, использующийся для периодического выполнения заданий в заданное время. Содержание 1 crontab 2 Графический интерфейс 2.1 Gnome Schedule …   Википедия

  • Cron — est le nom d un programme qui permet aux utilisateurs des systèmes Unix d exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l avance, ou selon un cycle défini à l avance. Le nom est dérivé… …   Wikipédia en Français

  • cron — est le nom d un programme qui permet aux utilisateurs des systèmes Unix d exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l avance, ou selon un cycle défini à l avance. Le nom est dérivé… …   Wikipédia en Français

  • Cron — Saltar a navegación, búsqueda La palabra Cron se refiere a: La unidad de tiempo cron, empleada en geología. El programa informático Cron que realiza tareas a intervalos regulares en sistemas tipo UNIX. Obtenido de Cron Categoría:… …   Wikipedia Español

  • Cron — m. Geol. Unidad de tiempo, equivalente a un millón de años. * * * cron. (Del gr. χρόνος, tiempo). m. Unidad de tiempo geológico, equivalente a un millón de años. * * * La palabra Cron se refiere a: 1. Una unidad de tiempo geológica. Consultar… …   Enciclopedia Universal

  • cron — cron. См. крон. (Источник: «Англо русский толковый словарь генетических терминов». Арефьев В.А., Лисовенко Л.А., Москва: Изд во ВНИРО, 1995 г.) …   Молекулярная биология и генетика. Толковый словарь.

  • Cron — Cron, Klara, Schriftstellerin, s. Weise, Klara …   Kleines Konversations-Lexikon

  • cron — (Del gr. χρόνος, tiempo). m. Unidad de tiempo geológico, equivalente a un millón de años …   Diccionario de la lengua española

  • cron — obs. f. crane, crown n. and v …   Useful english dictionary

  • cron — For other uses, see CRON (disambiguation). Cron is a time based job scheduler in Unix like computer operating systems. Cron enables users to schedule jobs (commands or shell scripts) to run periodically at certain times or dates. It is commonly… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»