Организация UNIX-систем и ОС Solaris



         

Cron


Демон cron ежеминутно инспектирует таблицу запланированных задач и выполняет те задачи, время которых наступило (в Solaris - не более 100 задач в минуту). Программа at нужна, как видно из раздела "at" выше, для планирования однократных задач, а программа crontab служит для планирования периодически запускаемых процессов. Они подготавливают таблицу заданий для cron.

У каждого пользователя есть своя таблица crontab. Ее можно отредактировать командой crontab -e. По этой команде вызывается текстовый редактор (обычно - vi), а в качестве файла для редактирования окажется таблица crontab. Если вы раньше не задавали никаких периодических задач, файл будет пустым.

Формат таблицы crontab: каждая строка описывает одну задачу, в строке содержится шесть полей:

mm hh dd mo dw command

mm - минуты от 0 до 59;

hh - часы от 0 до 23;

dd - числа от 1 до 31;

mo - месяцы от 1 до 12;

dw - дни недели от 0 до 7, 0 и 7 - это воскресенье;

command - команда командному процессору, которую надо запустить (возможно, с аргументами).

Каждое числовое поле в таблице может содержать число, несколько чисел через запятую, диапазон (начало и конец диапазона через дефис) или звездочку. Звездочка в соответствующем поле означает "каждую единицу времени", например в поле часов она означает "каждый час".

Если в строке указаны определенное число месяца и определенный день недели, то для выполнения команды достаточно, чтобы наступило либо это число, либо этот день недели.

Так, строка

12 10 * * 0 rm -rf /var/log/*.[0-9]

означает, что в 10:12 каждое воскресенье нужно удалять файлы *.[0-9] из /var/log.

Однако, если было бы написано

12 10 10 * 0 rm -rf /var/log/*.[0-9]

то требовалось бы выполнять такое удаление "в 10:12 по воскресеньям и десятым числам", а не "в 10:12 десятого числа, если оно приходится на воскресенье".

Как и в случае с at, команда запускается от имени владельца таблицы, в качестве командного процессора используется /bin/sh.

В первых строках таблицы могут быть установлены переменные среды окружения. Наиболее полезной может оказаться переменная среды окружения PATH:




Содержание  Назад  Вперед