at

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

at — unix-утилита, читающая команды со стандартного входного потока и группирующая их в виде задания at для выполнения позже, в заданное время.
Данная команда также доступна в среде MS Windows. Используйте at /? для уточнения параметров для данной ОС.

Синтаксис[править | править вики-текст]

  • at [-V] [-q очередь] [-f файл] [-mldbv] время
  • at -c задание [задание…]

Описание[править | править вики-текст]

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

at
запускает команды в заданное время.
atq
список заданий, заданных пользователем, если пользователь не суперпользователь; в этом случае, выдаются все задания.
atrm
удаляет задания.
batch
запускает команды, когда уровни загрузки системы позволяют это делать; в других, когда средняя загрузка системы, читаемая из /proc/loadavg опускается ниже 0.5, или величины, заданной при вызове atrun.

At позволяет некоторые умеренно сложные спецификации времени HHMM (ЧасыМинуты) или HH:MM (Часы:Минуты) для запуска задания в определённое время дня. (Если это время уже прошло, то устанавливается следующий день.) Вы можете также задать midnight(полночь), noon(полдень), или teatime(4 часа после полудня) (4pm), а также задать суффикс времени для AM (до полудня) или PM (после полудня) для запуска утром или вечером. Вы также можете указать, что день, в который будет запущено задание, задаётся датой в форме имя_месяца день год (необязательно), или задать дату в форме MMDDYY, MM/DD/YY или DD.MM.YY. Заданная вами дата должна содержать параметр времени дня. Вы также можете задать время как now + count time-units (текущее время + счётчик временных единиц), где временные единицы могут быть минутами, часами, днями или неделями. Вы можете указать at запустить задание сегодня, используя суффикс времени today, а для запуска задания завтра — суффикс tomorrow.

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

Если файл /etc/at.allow существует, то только пользователи, чьи имена указаны в этом файле могут использовать at.

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

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

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

Параметры запуска[править | править вики-текст]

-V
выводит номер версии в стандартный поток stderr.
-q очередь
использовать заданную очередь. Структура очереди содержит одну букву; правильные структуры очереди ранжируются от a до z. и от A до Z. Очередь c это очередь по умолчанию для at и очередь E это очередь по умолчанию для batch. Очереди со старшими буквами запускаются вперёд очередей с младшими буквами. Если задание ставится в очередь, начитающуюся с заглавной буквы, то задание трактуется так, как если бы оно было установлено для batch в это время. Если для atq задаётся определённая очередь, то atq будет показывать только задания в этой очереди.
-m
По завершении задания посылает e-mail пользователю (даже если задача ничего не выводила).
-f файл
Читает задание из файла, отличного от стандартного ввода.
-l
Это псевдоним для команды atq.
-d
Это псевдоним для команды atrm.
-b
Это псевдоним для команды batch.
-v
Указывает atq показывать завершённые задания, но пока не удалять задания в очереди; в других случаях показывать время запуска задания.
-c
выводит задания, перечисленные в командной строке, на стандартный вывод.


Примеры использования[править | править вики-текст]

Хорошим примером для иллюстрирования действий at послужит следующая команда:

 echo "notify-send 'пора завтракать'" | at 06:00

Её результатом будет вызов уведомителя GNOME с текстом «пора завтракать» в шесть часов утра.

Более сложная конструкция для запуска приложения требующего графический режим:

 user@userubC2D64:~$ at 12:29
warning: commands will be executed using /bin/sh
at> export DISPLAY=:0.0                                 #указываем дисплей
at> /usr/share/playonlinux/playonlinux --run "Steam"    #команда с параметрами
at> <EOT>                                               #Ctrl+D
job 16 at Thu Mar 15 12:29:00 2012

Её результатом будет вызов приложения Steam в указанное время.

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]