1 авг. 2008 г.

at: Выполнение команды по расписанию один раз

Возможно, вы хотели бы выполнить какую-нибудь команду в определённый день, но не регулярно. Например, вам нужно напомнить себе о сегодняшней встрече в 18:00. Вы работаете в X, у вас установлен пакет X11R6-contrib и вы хотели бы получить напоминание, скажем, в 17:30 о том, что пора выходить. Тогда at - это то, что вам нужно:
$ at 17:30
 # Теперь перед вами приглашение "at"
at> xmessage "Пора идти! Встреча в 18:00"
 # Нажмите CTRL-d для выхода
at> 
$

Указывать время можно разными способами:
  • now +<интервал>: Означает сейчас + интервал (Не обязателен. Отсутствие интервала означает немедленное выполнение). Синтаксис для интервала: (minutes|hours|days|weeks|months). Здесь minutes - минуты, hours - часы, days - дни, weeks - недели и months - месяцы. Например, вы можете указать now + 1 hour (через один час), now + 3 days (через трое суток) и так далее.
  • : Полное указание даты. Опция (время) является обязательной. Её формат для at довольно свободный: вы, например, можете ввести 0100, 04:20, 2am, 0530pm, 1800 или одно из трех специальных значений: noon (полдень), teatime (время вечернего чая в 16:00) или midnight (полночь). Опция (день) является необязательной. Вы также можете указать её различными способами: например, 12/20/2004, что соответствует двадцатому декабря 2004 года, или, по европейскому стандарту, 20.12.2004. Вы можете не указывать год, но тогда допускается только европейская форма записи: 20.12. Также вы можете записать месяц буквами: и Dec 20, и 20 Dec будут верны.
Также at допускает использование разнообразных опций:
  • -l: Выводит список заданий, стоящих в очереди на выполнение. Первое поле представлет собой номер задания. Это эквивалент команды atq.
  • -d : Удаляет из очереди задание под номером . Вы можете получить номера заданий при помощи команды atq. Это эквивалент команды atrm .
Как обычно, для получения дополнительной информации смотрите страницу руководства для at(1).

Комментариев нет: