НАЗВА
at, batch, atq, atrm - планує, виводить або усуває завдання для пізнішого виконання
СТИСЛИЙ ОГЛЯД
at [-V] [-q черга] [-f файл] [-mldbv] ЧАС
at -c завдання [завдання...]
atq [-V] [-q черга]
atrm [-V] завдання [завдання...]
batch [-V] [-q черга] [-f файл] [-mv] [ЧАС]
ОПИС
at і batch читають команди зі стандартного вводу або вказаного їм файлу, які буде виконано пізніше, використовуючи /bin/sh.
at : Виконує команди у вказаний час.
atq : Перераховує, очікуючи свого виконання, завдання, що належать користувачеві, хіба користувачем є надкористувач; у останньому випадку, перераховуються завдання всіх користувачів. Формат виводу, що використовується, (по одному рядку на кожне завдання) є: номер завдання, дата, година, категорія завдання.
atrm : Вилучає завдання, ідентифіковані за їхнім номером.
batch : Виконує команди коли рівень навантаження системи дозволяє це. Іншими словами, коли середнє навантаження падає до 0.8, або значення, вказаного при виклику atrun.
at дозволяє доволі складний опис часу, що простягається поза стандарт POSIX 2. Команді можна надати аргумент часу у формі ГГ:ХХ для виконання завдання у певний час доби. (Якщо цей час вже минув, вважатиметься, що це завдання на наступний день.) Ви можете також вказати midnight (північ 24:00), noon (полудень 12:00) або teatime (16:00 по полудню). Крім того, ви можете вказувати годину доби з суфіксами AM (Ante Meridiem) або PM (Post Meridiem), щоб відповідно запустити завдання вночі й зранку або вдень і вечором. Можна також вказати в який день запустити завдання, вказуючи дату як назва_місяця день з необов'язковим роком, або надаючи дату у формі ММДДРР або ММ/ДД/РР або ж ДД.ММ.РР. Вказівка дати повинна слідувати за описом часу. Наприклад:
at 01.30 22.02.2006
Замість дати в цьому прикладі ви могли б також вказати ключові слова today або tomorrow, для для сьогоднішнього дня або завтрашнього, відповідно. Час можна вказувати і як now + число часових_одиниць, де часовими одиницями можуть бути minutes, hours або weeks.
Ось ще декілька прикладів:
at 4pm + 3 days - завдання о 16:00 через чотири дні
at 10am Jul 31 - завдання на 10.00 31 Липня
at 1am tomorrow - завдання о 01:00 завтра
Файл /usr/doc/at-3.1.8/timespec містить точні визначення опису часу.
Підля вказівки часу на командному рядку слід притиснути Enter, після чого ввести команди, які буде виконано. Для обох програм, at і batch, команди читаються зі стандартного вводу, або з файлу, якщо такий надано слід за прапорцем -f. Кінець вводу потрібно вказати комбінацією Ctrl+D.
Робоча директорія, середовище (за виключенням змінних **TERM**, **DISPLAY** і **_**) i маска дозволів
(umask) запозичуються з середовища виклику команди. Команди at - або batch - викликані з надкористувацької оболонки (дивіться ?su(1)) збережуть поточний ідентифікаційний номер користувача. У випадку помилки, користувачеві буде надіслано поштою стандартний вивід і стандартну помилку виконаних команд. Пошту буде відправлено, використовуючи ?sendmail(8). Якщо at викликано з оболонки ?su(1), пошту отримає власник реєстраційної оболонки.
Надкористувач завжди має право виконувати всі команди; для решти користувачів, дозвіл на виконання at встановлюється файлами /etc/at.allow і /etc/at.deny.
Якщо файл /etc/at.allow присутній, лише користувачам, переліченим у ньому дозволено використовувати at.
И випадку ж відсутності /etc/at.allow, перевіряється /etc/at.deny, і кожному користувачеві, що там не числиться, буде надано дозвіл на використання at.
Якщо жодного з цих файлів немає, тільки надкористувачеві дозволятиметься запускати at.
Порожній /etc/at.deny означає, що кожний користувач має доступ до at, це являться стандартною конфігурацією.
ОПЦІЇ
-V : Виводить номер версії програми на стандартний пристрій помилки.
-q позначка : Встановлює позначку для завдань або груп завдань; позначка може складатися з однієї літери від a до z і від A до Z. Літера a використовується за замовчуванням для at, тоді як b - для batch. Завдання зі "старшими" літерами виконуються з нижчим пріоритетом. Спеціальна позначка "=" зарезервована для завдань, які виконуються у поточний момент.
Якщо завдання було вказане з позначкою, що складається з літери верхнього регістру, воно розглядатиметься так, ніби його започаткували за допомогою batch. Коли команді atq надано як аргумент певну позначку завдання, виводитиметься інформація лишень про завдання з цією позначкою.
-m : Надсилає листа користувачеві по завершенню завдання, навіть якщо не відбулося жодного виводу.
-f файл : Читає завдання з файлу, замість стандартного вводу.
-l : Являється синонімом для atq.
-d : Синонім atrm.
-v : Виводитиме також час, коли завдання буде виконано.
Відображення часу відбуватиметься у форматі типу "1997-02-20 14:50", хіба було встановлену змінну середовища POSIXLY_CORRECT, в такому разі формат буде "Thu Feb 20 14:50:00 1996".
-c : Виводить на стандартний вивід команди, що містяться у завданні, разом зі всіма змінними середовища. Візьме у якості аргументу порядковий номер завдання, наприклад: `at -c 36'.
ФАЙЛИ
/var/spool/atjobs
/var/spool/atspool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny
ДИВІТЬСЯ ТАКОЖ
?cron(1), nice(1), ?sh(1), umask(2), ?atd(8).
ВАДИ
Правильне виконання batch на Лінуксі залежить від наявності каталогу, призначеного для інформації про поточні процеси, як правило це /proc (дивіться ?proc(5)).
Якщо файл /var/run/utmp недоступний або зруйновано, або якщо користувач відсутній під час виконання завдання, пошту буде послано користувачеві, чий ідентифікаційний номер буде знайдено у змінній середовища LOGNAME. Якщо цю змінну не означено, або вона порожня, вживатиметься поточний ідентифікаційний номер.
Програми at і batch, у сучасному стані, не придатні у випадку, коли користувачі змагаються за системні ресурси. Якщо це стосується вашої системи, вам варто розглянути інші знаряддя виконання порцій завдань, наприклад nqs.
АВТОРИ
Програма at головним чином була написана Thomas Koenig ig25@rz.uni-karlsruhe.de.
Переклав українською Віталій Цибуляк.