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.13 oryginału.