 | Автоматизация одноразовых заданий
Использование команды at
Если вам надо запустить задание в какое-то время, вы можете использовать команду at, которая берет команды со стандартного ввода STDIN или из файла (через опцию -f) и принимает описание времени запуска в различных, достаточно гибких, форматах.
Семейство команд, связанных с at включает в себя: atq -- выводит список отложенных заданий; atrm -- удаляет задание из очереди; и batch -- работает подобно at, за исключением того, что она откладывает выполнение задания до тех пор, пока загрузка системы не будет низкой.
Права
Подобно /etc/cron.allow и /etc/cron.deny, команда at имеет файлы /etc/at.allow и /etc/at.deny для управления правами. Файл /etc/at.allow, если он присутствует, должен содержать всех пользователей, которым разрешено управлять запуском заданий. С другой стороны, если файла /etc/at.allow нет, пользователь должен отсутствовать в /etc/at.deny, если запуск заданий ему разрешен. Если ни одного из этих файлов не существует, все могут использовать at.
Указание времени
Обратитесь к справочному руководству man для получения полной информации о вашей версии at. Вы можете указать конкретное время в часах и минутах виде HH:MM для события, которое должно произойти, когда это время настанет. (Если это время уже прошло, это означает, что событие наступит завтра). Если вы используете 12-часовую систему измерения времени, вы можете также добавлять a.m. или p.m. Вы можете указывать дату в виде MMDDYY, MM/DD/YY, DD.MM.YY или month-name-day. Вы можете также прибавлять время к текущему следующим образом: now + N units, где N это число, а units это minutes, hours, days или weeks. Слова today и tomorrow имеют очевидное значение ("сегодня" и "завтра"), так же как midnight (полночь) и noon (полдень), teatime это 4 p.m. Несколько примеров:
% at -f ./foo.sh 10am Jul 31
% echo 'bar -opt' | at 1:30 tomorrow
Точное определение временных спецификации см. в /usr/share/doc/at/timespec.
|  |