Демон cron: планирование команд
Категория: Периодические процессы | Автор: admin | 9-11-2009, 13:36 | Просмотров: 3852

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

Файлами конфигурации управляет команда crontab (сокращение от "cron table" — таблица демона cron), поэтому их называют crontab-файлами. Все они хранятся в едином системном каталоге, чтобы демон легко мог их найти. По запросам пользователей команда crontab добавляет и удаляет файлы в этом каталоге.

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

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

В некоторых системах передача демону cron сигнала отбоя (HUP) заставляет его повторно прочитать свои crontab-файлы. Как правило, нет необходимости делать это вручную, так как команда crontab автоматически дает демону указание перечитать файлы конфигурации при изменении одного из них

Демон cron обычно выполняет свою работу "молча", но иногда может вестись файл регистрации (как правило, это файл /var/cron/log или /var/adm/cron/log), в котором отражаются все выполняемые команды и время их запуска. В некоторых системах при создании файла регистрации автоматически включается режим регистрации, а при удалении этого файла регистрация выключается. В других системах режим регистрации задается в файле конфигурации. Кроме того, демон cron может пользоваться услугами системы syslog. Файл регистрации быстро увеличивается в размерах и редко приносит пользу; лучше не включать регистрацию вообще, если только вы не занимаетесь устранением какой-то конкретной проблемы.

 

Если какая-либо команда не была запущена в нужное время (например, из-за того, что система была выключена), то демон cron не выполняет такую команду позже, поскольку информация о факте невыполнения не сохраняется. Помимо этого, некоторые версии демона не понимают перехода на летнее/зимнее время, что приводит к пропуску или двукратному выполнению команд при переходе на другое время. К таким ситуациям следует быть готовым. Проблем можно избежать, если не выполнять команды в "критические" часы.


 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page