AT(1)

NAZWA
at, batch, atq, atrm - kolejkuje, sprawdza lub usuwa zadania do późniejszego wykonania

SKŁADNIA
at [-V] [-q kolejka] [-f plik] [-mMlv] określenie_czasu...
at [-V] [-q kolejka] [-f plik] [-mMkv] [-t czas]
at -c zadanie [zadanie...]
atq [-V] [-q kolejka]
at [-rd] zadanie [zadanie...]
atrm [-V] zadanie [zadanie...]
batch
at -b

OPIS
at i batch czytają ze standardowego wejścia lub z podanego pliku polecenia, które mają zostać wykonane za pomocą /bin/sh w terminie późniejszym.

at  wykonuje polecenia o zadanym czasie.

atq pokazuje oczekujące zadania użytkownika, chyba że jest on administratorem — w tym przypadku wyświetlane są zadania wszystkich użytkowników. Postać wierszy wynikowych (po jednym na każde zadanie): numer zadania, data, godzina, kolejka i nazwa użytkownika.

atrm
    usuwa zadania identyfikowane przez ich numer zadania.

batch
    wykonuje polecenia, gdy pozwala na to poziom obciążenia systemu; inaczej mówiąc, gdy średnie obciążenie spada poniżej 1.5 lub wartości określonej w wywołaniu atd.

at pozwala na dość złożone określanie czasu, wychodząc poza standard POSIX.2. Akceptuje czasy w postaci HH:MM, nakazujące wykonanie zadania o zadanej godzinie (Jeśli czas ten już minął, to przyjmowany jest następny dzień). Można też podać midnight [północ], noon [południe] lub teatime ["czas herbatki": czwarta po południu]. Można używać przyrostków [tłum: decydują one równocześnie o użyciu zegara 12-godzinnego zamiast 24-godzinnego] AM lub PM do zapisu uruchomień porannych lub wieczornych. Można też wskazać, w jakim dniu ma zostać uruchomione zadanie, podając datę w postaci nazwa-miesiąca dzień z opcjonalnym rokiem, lub też w formacie MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD. Określenie daty musi występować po określeniu godziny (pory dnia). Można również podawać czasy takie jak now [teraz], + liczba jednostek-czasu, gdzie jednostkami czasu mogą być minutes [minuty], hours [godziny], days [dni] lub weeks [tygodnie]. Można też nakazać at uruchomienie zadania w dniu dzisiejszym, kończąc określenie czasu słowem today [dzisiaj], lub jutrzejszym, używając przyrostka tomorrow [jutro].

Na przykład, by uruchomić zadanie za trzy dni, o godzinie 4 po południu, powinno się wykonać: at 4pm + 3 days; aby uruchomić zadania 31 lipca o 10:00: at 10am Jul 31, jutro o pierwszej w nocy: at 1am tomorrow.

Dokładną definicję specyfikacji czasu można znaleźć w /usr/share/doc/at/timespec.

Zarówno at, jak i batch czytają i wykonują polecenia ze standardowego wejścia lub z pliku podanego w opcji -f. Katalog roboczy, środowisko (oprócz zmiennych BASH_VERSINFO, DISPLAY, EUID, GROUPS, SHELLOPTS, TERM, UID i _) oraz maska praw dostępu (umask) są zachowywane z czasu uruchomienia. Ponieważ at jest zaimplementowany jako program setuid inne zmienne środowiskowe (np. LD_LIBRARY_PATH lub LD_PRELOAD) nie są eksportowane. Może się to zmienić w przyszłości. Aby obejść ten problem, należy ustawić te zmienne bezpośrednio w zadaniu. Polecenie at lub batch wywołane z powłoki su(1) zachowuje bieżący identyfikator użytkownika. Wyniki kierowane przez zadane polecenia na standardowe wyjście lub wyjście raportowania błędów zostaną skierowane do skrzynki pocztowej użytkownika (przekazane pocztą elektroniczną). Przesyłki te zostaną dostarczone przy pomocy polecenia /usr/sbin/sendmail. Jeżeli at wykonywane jest z powłoki su(1), to korespondencję otrzyma właściciel powłoki zgłoszeniowej (login shell).

Administrator systemu może zawsze posługiwać się opisywanymi poleceniami. Dla pozostałych użytkowników, dostęp do at jest określany przez pliki /etc/at.allow i /etc/at.deny. Szczegóły można znaleźć w at.allow(5).

OPCJE

-V  wyświetla numer wersji programu na standardowe wyjście błędów i kończy działanie.

-q kolejka
    używa zadanej kolejki. Określenie kolejki składa się z pojedynczej litery; dopuszczalne są określenia kolejki w zakresie od a do z oraz od A do Z. Kolejka a jest kolejką domyślną dla at, zaś kolejka b domyślną dla batch. Kolejki opisywane kolejnymi literami uruchamiane są z wzrastającym priorytetem. Specjalna kolejka = zarezerwowana jest dla zadań obecnie wykonywanych.

Jeśli zadanie wysyłane jest do kolejki określonej dużą literą, to traktowane jest jakby było wysłane do wykonania o tym czasie przez polecenie batch. Po osiągnięciu tego czasu, batch zacznie przetwarzać reguły, zwracając uwagę na obciążenie systemu (load average). Jeśli użyto konkretnej kolejki w poleceniu atq, to pokaże ono tylko zadania oczekujące w tej kolejce.

-m  Po zakończeniu zadania wysyła pocztą powiadomienie do użytkownika, nawet jeśli zadanie nie zwróciło żadnych danych na wyjściu.

-M  Nigdy nie wysyła poczty do użytkownika.

-f plik
    Czyta zadania z pliku, a nie ze standardowego wejścia.

-t czas
    Uruchamia zadanie w zadanym czasie podanym w formacie [[CC]YY]MMDDhhmm[.ss].

-l  Jest skrótem (aliasem) dla atq.

-r  Jest skrótem dla atrm.

-d  Jest skrótem dla atrm.

-b  Jest skrótem dla batch.

-v  Zanim przeczyta zadanie, pokaże czas, w którym zadanie będzie wykonane,

Czas jest wyświetlany w formacie "Thu Feb 20 14:50:00 1997".

-c  wysyła [jak polecenie cat(1)] podane w wierszu poleceń zadania na standardowe wyjście.

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

ZOBACZ TAKŻE
at.allow(5), at.deny(5), atd(8), cron(1), nice(1), sh(1), umask(2).

BŁĘDY
Poprawne działanie batch w Linuksie zależy od obecności katalogu typu proc montowanego w /proc.

Jeżeli plik /var/run/utmp nie jest dostępny lub jest uszkodzony albo jeśli podczas wywoływania at użytkownik nie jest zalogowany, to poczta wysyłana będzie do użytkownika o identyfikatorze znalezionym w zmiennej środowiska LOGNAME. Jeżeli nie jest ona zdefiniowana lub jest pusta, to przyjmowany jest bieżący identyfikator użytkownika.

at i batch w obecnej implementacji są nieużyteczne w sytuacji, kiedy użytkownicy rywalizują o zasoby. Jeśli jest tak w przypadku Twojego systemu, powinieneś rozważyć inne rozwiązanie systemu wsadowego, takie jak nqs.

AUTOR
at zostało w większości napisane przez Thomasa Koeniga, ig25@rz.uni-karlsruhe.de.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Wojtek Kotwica (PTM) <wkotwica@post.pl> i Robert Luberda <robert@debian.org>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.1.16 oryginału.