| Сервер поддерживается Центром Информационных Технологий (095) 932-9212, 932-9213, 939-0783 E-mail: info@citforum.ru

Сервер содержит море(!) аналитической информации | CIT Forum CD-ROM

### AT(1)

НАЗВАНИЕ
at - планирование выполнения команд в определенное время

СИНТАКСИС

     at  время [дата] [+задержка]
     at  -r идентификатор_задания ...
     at  -l [идентификатор_задания ...]

ОПИСАНИЕ
Команда at в первом из приведенных вариантов читает со стандартного ввода задание, выполнение которого планируется на указанное время. Смысл опций двух других вариантов команды at таков:

-r | Удалить задания, запланированные ранее с помощью at или batch(1), по идентификаторам_заданий. Идентификаторы сообщаются командами at и batch. Их можно узнать также по команде at -l. Только суперпользователь может удалять чужие задания.
-l | Вывести информацию о запланированных заданиях по идентификаторам_заданий. Если идентификаторы не указаны, выдается список всех заданий, запланированных пользователем и еще не выполненных.

Если стандартный вывод и стандартный протокол не переназначены, то весь вывод запланированных команд пересылается пользователю по почте. Переменные окружения shell'а, текущий каталог, маска режима создания файлов и максимальный размер файлов [см. umask(1) и ulimit(1)] сохраняются, то есть задание выполняется в том же окружении, том же каталоге и т.д. Дескрипторы открытых файлов, прерывания и приоритет теряются.

Пользователю разрешается выполнять команду at только при условии, что его имя встречается в файле /usr/lib/ cron/at.allow. Если этого файла не существует, то проверяется файл /usr/lib/cron/at.deny, для того чтобы узнать, не запрещен ли пользователю доступ к at. Если оба файла отсутствуют, то только суперпользователю разрешено планировать выполнение задания. Если файл at.deny пуст, а at.allow отсутствует, то эти действия могут выполнять все. Файлы at.allow и at.deny содержат по одному имени в строке. Модифицировать эти файлы может только суперпользователь.

Время может быть указано 1, 2 или 4 цифрами. Если время состоит из одной или двух цифр, то оно обозначает часы; четырехзначное число обозначает часы и минуты. Время также может быть задано как два числа, разделенные двоеточием, что понимается как часы:минуты. Могут быть добавлены суффиксы am (до полудня) или pm (после полудня), в противном случае часы указываются от 0 до 23. Если необходимо указать время по Гринвичу, то можно добавить суффикс zulu. Распознаются специальные имена noon (полдень), midnight (полночь), now (сейчас), и next (следующий).

Дата может быть указана двумя способами: во-первых, в виде названия месяца, за которым следует число [и, может быть, год (через запятую)], а во-вторых, как день недели (полностью или сокращенный до 3 букв). Распознается два специальных "дня" today (сегодня) и tomorrow (завтра). Если дата не задана, то предполагается сегодняшняя дата, если указанное время больше, чем текущее, и завтрашняя, если меньше. Если заданный месяц меньше, чем текущий и год явно не задан, то предполагается, что имеется в виду следующий год.

Дополнительная задержка представляет собой просто число, за которым следует одно из следующих слов: minutes (минуты), hours (часы), days (дни), weeks (недели), months (месяцы), или years (годы). Можно указывать единицу измерения и без числа, например at now +minutes.

Далее приведены примеры корректных команд:

       at  0815am Jan 16
       at  8:15am Jan 16
       at  now +1 day
       at  5 pm Friday

Команда at выдает идентификатор задания и запланированное время его выполнения в стандартный протокол.

ПРИМЕР
Чтобы задание могло снова себя запланировать, следует вызвать at из shell-файла (назовем его sfile), включив в файл текст такого вида:

       echo "sh sfile" | at 1900 thursday next week

ФАЙЛЫ

`/usr/lib/cron`
  Основной каталог команд, связанных со временем.
`/usr/lib/cron/at.allow`
  Список пользователей, которым разрешено выполнять команды at и batch.
`/usr/lib/cron/at.deny`
  Список пользователей, которым запрещено выполнять команды at и batch.
`/usr/lib/cron/queuedefs`
  Информация о планировании.
`/usr/spool/cron/atjobs`
  Область накопления вывода.

СМ. ТАКЖЕ
batch(1), mail(1), sh(1), ulimit(1), umask(1).
cron(1M) в Справочнике администратора.

ДИАГНОСТИКА
Сообщается о различных синтаксических ошибках и некорректном времени, а также о том, что пользователь не имеет права выполнять команду at.

СЮРПРИЗЫ
Попытка выполнить команду at now приводит к сообщению

       at: too late

(слишком поздно).

Comments: info@citmgu.ru Designed by Andrey Novikov Copyright © CIT