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.