Red Hat Enterprise Linux 4: Руководство по системному администрированию | ||
---|---|---|
Назад | Глава 35. Автоматизация задач | Вперёд |
Тогда как cron используется для назначения повторяющихся задач, команда at используется для назначения одноразового задания на заданное время, а команда batch — для назначения одноразовых задач, которые должны выполняться, когда загрузка системы становится меньше 0,8.
Чтобы использовать at или batch, необходимо, чтобы был установлен RPM-пакет at и запущена служба atd. Чтобы узнать, установлен ли этот пакет, выполните команду rpm -q at. Чтобы определить, работает ли служба, воспользуйтесь командой /sbin/service atd status.
Чтобы назначить выполнение разового задания в определённое время, введите команду at time, где time — время выполнения команды.
Параметр time может быть следующим:
формат ЧЧ:ММ — например, 04:00 обозначает четыре часа ночи. Если указанное время уже прошло, задание выполняется в это же время на следующий день.
midnight — обозначает полночь.
noon — обозначает полдень.
teatime — обозначает 4 часа дня (время чаепития).
формат «название-месяца день год» — например, строка «January 15 2002» обозначает 15 января 2002 года. Указывать год не обязательно.
Форматы ММДДГГ, ММ/ДД/ГГ или ММ.ДД.ГГ — например, 011502 также обозначает 15 января 2002 г.
now + время — время задаётся в минутах, часах, днях или неделях. Например, строка «now + 5 days» обозначает, что команда должна быть выполнена в это же время, но через пять дней.
Сначала должно буть указано время, а за ним можно указать необязательную дату. За дополнительной информацией о формате времени, обратитесь к текстовому файлу /usr/share/doc/at-<version>/timespec.
После ввода команды at с аргументом, указывающим время, выводится приглашение at>. Введите команду, которая должна быть выполнена, а затем нажмите
Если заданные команды или сценарий выводит сообщения на стандартное устройство вывода, эти сообщения пересылаются пользователю по электронной почте.
Чтобы просмотреть запланированные задания, выполните команду atq. За дополнительными сведениями обратитесь к разделу 35.2.3 Просмотр запланированных заданий.
Доступ к команде at можно ограничить. За дополнительной информацией об этом обратитесь к разделу 35.2.5 Управление доступом к at и batch.
Для выполнения разовой задачи, когда средняя загрузка опускается ниже 0,8, используйте команду batch.
После ввода команды batch появляется приглашение at>. Введите команду, которая должна быть выполнена, а затем нажмите
Если заданные команды или сценарий выводит сообщения на стандартное устройство вывода, эти сообщения пересылаются пользователю по электронной почте.
Чтобы просмотреть запланированные задания, выполните команду atq. За дополнительными сведениями обратитесь к разделу 35.2.3 Просмотр запланированных заданий.
Доступ к команде batch можно ограничить. За дополнительной информацией об этом обратитесь к разделу 35.2.5 Управление доступом к at и batch.
Чтобы просмотреть запланированные задания at и batch, используйте команду atq. Команда atq показывает список запланированных заданий, выводя каждое задание в отдельной строке. В конце строки указывается номер задания, дата, час, класс задания и имя пользователя. Пользователи могут просматривать только собственные задания. Если команду atq выполняет пользователь root, она выводит все задания всех пользователей.
В число дополнительных параметров командой строки at и batch входят:
Файлы /etc/at.allow и /etc/at.deny позволяют ограничить доступ к командам at и batch. Формат списков управления доступом в обоих файлах прост — в каждой строке файла указывается одно имя пользователя. Пробельные символы в этих файлах не допускаются. Перезапускать демон at (atd) после изменения файлов управления доступом не требуется. Файлы управления доступом обрабатываются каждый раз, когда пользователь пытается выполнить команды at и batch.
Пользователь root всегда может выполнять команды at and batch, вне зависимости от файлов управления доступом.
Если файл at.allow существует, использовать at и batch разрешено только перечисленным в нём пользователям, а файл at.deny игнорируется.
Если файл at.allow не существует, пользователям, перечисленным в at.deny, использовать at и batch не разрешается.
Чтобы запустить службу at, выполните команду /sbin/service atd start. Чтобы остановить её, выполните команду /sbin/service atd stop. Рекомендуется настроить запуск этой службы при загрузке системы. За подробными инструкциями по настройка автоматического запуска службы cron при загрузке системы обратитесь к главе 20 Управление доступом к службам.