Scroll to navigation

AT(1) Linux - příručka programátora AT(1)

JMÉNO

at, batch, atq, atrm - umisťuje do fronty, zobrazuje či maže úlohy určené pro pozdější provedení

POUŽITÍ

at [-V] [-q fronta] [-f soubor] [-mldbv] ČAS
at -c úloha [úloha...]
atq [-V] [-q fronta]
atrm [-V] úloha [úloha...]
batch

POPIS

at a batch načítají ze standardního vstupu nebo daného souboru příkazy, které mají být provedeny později za použití /bin/sh.

provádí příkazy v určeném čase.
vypisuje uživatelovy čekající úlohy, kromě situace, kdy uživatelem je superuživatel; v tom případě se vypíší úlohy všech uživatelů. Formát řádků výstupu (každá úloha na jeden řádek) je: Číslo úlohy, datum, hodina, fronta a uživatelské jméno.
maže úlohy označené jejich číslem.
provádí příkazy, když to zátěž systému dovolí; jinými slovy, když průměrná zátěž klesne pod 0.8, nebo hodnotu určenou při vyvolání příkazu atd.

At dovoluje dosti složité určení času, přesahující standard POSIX.2. Přijímá časy v podobě HH:MM, aby spustil úlohu v určitém čase (pokud čas již uplynul, předpokládá se následující den). Lze také zadat midnight (půlnoc), noon (poledne) nebo teatime (16 hod) nebo také čas doplněný AM nebo PM pro spuštění dopoledne nebo odpoledne. Lze také zadat den, ve kterém se úloha spustí tak, že se zadá datum v podobě název měsíce den s volitelným rok nebo zadáním data v podobě MMDDYY nebo MM/DD/YY nebo DD.MM.YY. Zadání data musí odpovídat specifikaci denní doby. Lze také zadat časy jako now (nyní) + počet časových jednotek, kde časové jednotky mohou být minuty, hodiny, dny nebo týdny a lze zadat programu at, aby spustil úlohu dnes tak, že se za čas připíše today nebo aby ji spustil zítra připsáním tomorrow.

Například, aby se úloha spustila za tři dny v 16 hodin, lze zadat at 4pm + 3 days, aby se spustila v 10:00 31. července at 10am Jul 31 a pro spuštění úlohy v 1:00 zítra, at 1am tomorrow.

Přesný popis časové specifikace lze nalézt v /usr/share/doc/at/timespec.

Pro oba programy at a batch se příkazy načtou ze standardního vstupu nebo souboru určeného s přepínačem -f a jsou provedeny. Pracovní adresář, proměnné prostředí (kromě proměnných TERM, DISPLAY a _) a umask jsou uchovány z času vyvolání. Příkaz at - nebo batch - vyvolaný ze su(1) shellu si zachovají aktuální ID uživatele. Pokud program zapíše něco na standardní výstup nebo standardní chybový výstup, zašlou se tyto poštou uživateli. Pošta se zasílá výchozím MTA (obvykle /usr/sbin/sendmail). Pokud se at spustí ze su(1) shellu, pošta přijde majiteli login shellu.

Superuživatel může používat tyto příkazy kdykoliv. Pro jiné uživatele se povolení pro použití at určuje soubory /etc/at.allow a /etc/at.deny.

Pokud soubor /etc/at.allow existuje, mohou příkaz at používat jen uživatelé, kteří jsou v něm uvedeni.

Pokud /etc/at.allow neexistuje, zkontroluje se /etc/at.deny a každý uživatel, který v něm není uveden, smí příkaz at použít.

Pokud neexistuje ani jeden z těchto souborů, smí používat příkaz at jen superuživatel.

Prázdný soubor /etc/at.deny znamená, že každý uživatel smí používat tyto příkazy, což je standardní nastavení.

VOLBY

vypíše na standardní chybový výstup číslo verze.
použije určenou frontu. Označení fronty sestává z jednoho písmene; platná označení fronty sahají od a do z. a A do Z. Fronta a je přednastavená pro at a fronta b pro batch. Fronty s vyššími písmeny běží se zvýšeným nice. Speciální fronta "=" je rezervována pro aktuálně bežící úlohy.

Pokud je úloha vložená do fronty označené velkým písmenem, je s ní naloženo, jako by byla v tom čase vložena do batch. Jakmile nastane zadaný čas, budou platit pravidla pro zpracování batch týkající se zátěže. Pokud se k atq zadá konkrétní fronta, zobrazí pouze úlohy čekající v této frontě.

Zašle poštou oznámení o ukončení úlohy, i když úloha nemá žádný výstup.
Načte úlohu ze souboru soubor místo ze standardního vstupu.
Alias pro atq.
Alias pro atrm.
Zobrazí čas, kdy se úloha provede před jejím přečtením.

Zobrazený čas bude ve formátu "Thu Feb 20 14:50:00 1997".

vypíše úlohy z příkazové řádky na standardní výstup.
Naplánuje úlohu na spuštění v čase specifikovaném argumentem time_arg.^ Ten musí mít stejný formát, jako parametr -t utility touch(1)^ ([[CC]YY]MMDDhhmm).

SOUBORY

/var/spool/cron/atjobs
/var/spool/cron/atspool
/proc/loadavg
/var/run/utmp
/etc/at.allow
/etc/at.deny

DALŠÍ INFORMACE

cron(1), nice(1), sh(1), umask(2), atd(8).

CHYBY

Správné fungování příkazu batch pro Linux závisí na přítomnosti adresáře typu proc připojeného do adresáře /proc.

Pokud není soubor /var/run/utmp dostupný nebo je poškozený, nebo pokud uživatel není přihlášený v okamžiku spuštění at, pošta se zašle uživateli nalezenému v proměnné prostředí LOGNAME. Pokud tato není definována nebo je prázdná, předpokládá se aktuální uživatelské ID.

At a batch v současné implementaci nejsou vhodné, pokud uživatelé soupeří o zdroje. Pokud je toto váš případ, můžete chtít zvážit jiný dávkový systém, například nqs.

AUTOR

At byl z většiny napsán Thomasem Koenigem, ig25@rz.uni-karlsruhe.de.

Sep 2009 local