AT(1) 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
(слишком поздно).
|