at(1)

AT(1) General Commands Manual AT(1)

ИМЯ

at, batchдобавить в очередь, показать или удалить задачи, запланированные для выполнения позже.

ОБЗОР

at [-blm] [-f файл] [-q очередь] -t время at [-blm] [-f файл] [-q очередь] время at -c | -r задача [задача ...] batch [-m] [-f файл] [-q очередь] [время]

ОПИСАНИЕ

at и batch считывают со стандартного ввода или указанного файла команды, которые должны быть выполнены позже - при помощи командной оболочки пользователя, указанной в переменной окружения SHELL. Если SHELL не установлена, используется оболочка, указанная в базе данных паролей пользователей. Если и она не указана, будет использована sh(1).

К родственным программам относятся:

at
Выполняет команды в указанное время.
batch
Выполняет команды, когда это позволяет уровень загрузки системы. Иными словами, когда средняя загрузка падает ниже 1.5 или ниже значения, указанного при вызове cron(8).

Доступны следующие опции:

-b
синоним batch.
-c
Вывести на стандартный вывод задачи, перечисленные в командной строке.
-f файл
Прочесть задачи из файла а не из стандартного ввода.
-l
Выводит запланированные задачи текущего пользователя. Если пользователь - администратор, выводит задачи всех пользователей.
-m
Когда задача будет выполнена, отправляет сообщение пользователю, даже если задача не выводила никаких сообщений.
-q очередь
Использует указанную очередь. Очередь обозначается одной буквой. Допустимые символы - от a до z и от A до Z. Очередь c по умолчанию используется командой at и очередь E используется batch. Очереди, обозначенные заглавной буквой запускаются с повышенным приоритетом (т.е. с меньшим приоритетом). Если задача указана для добавления в очередь, обозначенную заглавной буквой, она обрабатывается так, как будто был добавлена командой batch Если пользователь указывает опцию -l и для at указана конкретная очередь, будут показаны только задачи, находящиеся в этой очереди.
-r
Удаляет указанные задачи из очереди at.
-t время
Указать время задачи, используя формат touch(1). Аргумент должен быть указан в виде [[ВВ]ГГ]ММДДччмм[.СС], где каждая пара букв обозначает следующее:

ВВ
две первых цифры года (век).
ГГ
две последние цифры года.
ММ
месяц года, с 1 по 12.
ДД
день месяца, с 1 по 31.
чч
час, с 0 по 23.
мм
минуты, с 0 по 59.
СС
секунды, с 0 по 61.

Если ВВ и ГГ не указаны, используется текущий год. Если СС не указаны, используется 0.

at разрешает относительно сложные спецификации времени. Программа принимает время в формате ччмм или чч:мм для запуска задачи в указанное время дня (если это момент уже прошел, используется следующий день.) Можно также указывать midnight ( полночь ), noon ( полдень ), или teatime (16:00), можно указывать после времени “AM” или “PM” для запуска задачи утром или вечером. Можно также указать, в какой день задача будет запущена, указав дату в форме название-месяца день а также (по желанию) год, или введя дату в форме ДД.ММ.ВВГГ, ДД.ММ.ГГ, ММ/ДД/ВВГГ, ММ/ДД/ГГ, ММДДВВГГ, или ММДДГГ.

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

Формат даты должен совпадать с форматом времени дня. Можно использовать время в форме [‘now ("сейчас")’] + число единиц-времени, где единицей-времени могут быть минуты, часы, дни, или недели, можно указать at запустить задачу сегодня, добавив после времени today ("сегодня"), и запустить задачу завтра, добавив после времени tomorrow ("завтра").

К примеру, чтобы запустить задачу в 16:00 через три дня после сегодняшнего можно использовать at 16:00 + 3 days. Для запуска задачи в 10:00 31го июля можно воспользоваться at 10:00 Jul 31. Для запуска в 1:00 завтра, можно использовать at 1:00 tomorrow.

at также поддерживает формат времени, используемый touch(1) (см. опцию -t ).

И at, и batch считывают команды со стандартного потока ввода (или файла указанного при помощи опции -f ) и исполняют их, используя текущий каталог, переменные окружения (исключая TERM, TERMCAP, DISPLAY, и _), и umask на момент добавления команды. Команда at или batch при запуске через командную оболочку su(1) сохраняют идентификатор текущего пользователя. Пользователь получит сообщение с данными стандартного вывода и потока сообщений об ошибках для запланированной им команды, если что-то было выведено. Сообщение будет отправлено через sendmail(8). Если at выполняется через su(1), пользователь, указанный при вызове su, получит это сообщение.

Для не-администраторов, разрешение на запуск at определяется файлами /etc/at.allow и /etc/at.deny. Примечание: эти файлы (если они существуют) должны быть доступны для чтения группе crontab.

Если /etc/at.allow существует, только упомянутые в нем пользователи могут использовать at. Если /etc/at.allow не существует, проверяется /etc/at.deny. В этом случае каждый пользователь, не упомянутый в этом файле, может использовать at. Если оба файла отсутствуют, только администратор может использовать at.

Пустой /etc/at.deny обозначает, что каждый пользователь может использовать эти команды. Это является конфигурацией по умолчанию.

ФАЙЛЫ

/var/spool/at
каталог, содержащий файлы задач
/etc/at.allow
контролирует разрешения на использование
/etc/at.deny
контролирует запреты на использование

СМ. ТАКЖЕ

nice(1), sh(1), touch(1), umask(2), cron(8), sendmail(8)

АВТОРЫ

Большая часть at написана Thomas Koenig ⟨ig25@rz.uni-karlsruhe.de⟩. Процедуры обработки времени создана David Parsons ⟨orc@pell.chi.il.us⟩.

ОШИБКИ

at и batch в настоящее время не подходят для ситуаций, когда несколько пользователей пытаются получить доступ к ограниченным ресурсам. В этом случае, подумайте об использовании другой подобной системы, например nqs.

ПЕРЕВОД

Перевод с английского Виктор Ерёмин <ErV2005@rambler.ru> 2007

13 мая 2002 Linux 6.12.85-6.12-alt1