AT(1)

NOME
at, batch, atq, atrm - mette in coda, esamina o cancella lavori per esecuzione ritardata

SINTASSI
at [-V] [-q coda] [-f file] [-mldbv] ORARIO
at -c compito [compito...]
atq [-V] [-q coda] [-v]
atrm [-V] compito [compito...]
batch [-V] [-q coda] [-f file] [-mv] [ORARIO]

DESCRIZIONE
at e batch leggono da standard input o da un file specificato comandi da eseguire in un successivo momento usando /bin/sh.

at  esegue un comando a un'ora specificata.

atq elenca i processi sospesi dell'utente, a meno che l'utente sia il super-utente; in quel caso vengono elencati i processi di tutti.

atrm
    cancella i processi.

batch
    esegue i comandi quando i livelli di carico del sistema lo permettono; cioè quando il carico medio va sotto il limite di 0.8 o il valore specificato nell'invocazione di atrun.

At permette di specificare l'orario in modo piuttosto complesso, estendendo lo standard POSIX.2. Accetta ore della forma OOMM o OO:MM per eseguire un processo a una specificata ora del giorno (se quell'ora è già trascorsa, viene supposto il giorno successivo). Si può anche specificare midnight(mezzanotte), noon(mezzogiorno), o teatime (le 16) e si può usare come suffisso all'ora AM or PM per l'esecuzione al mattino o alla sera. Si può anche indicare in quale giorno verrà eseguito il processo, dando un'ora nella forma nome-mese(ininglese) giorno con un annoopzionale, o una data nella forma MMGGAA o MM/GG/AA o GG.MM.AA. L'indicazione della data deve seguire l'indicazione dell'ora. Si possono anche usare orari come now(adesso) + numero unità-di-misura dove unità-di-misura può essere minutes(minuti), hours(ore), days(giorni) o weeks(settimane). Si può dire al comando at di eseguire il compito oggi aggiungendo all'ora un suffisso come today e di eseguire il compito domani aggiungendo all'ora un suffisso come tomorrow.

Per esempio, per eseguire un compito alle 16 fra tre giorni a partire da adesso, si immetterebbe at4pm+3days, per eseguire un compito alle 10 del 31 luglio si userebbe at 10am Jul 31 e per eseguire un compito alle 13 di domani, si userebbe at1amtomorrow.

La definizione esatta delle specifiche di orario possono essere trovate in /usr/doc/at-3.1.7/timespec.

Per entrambi at e batch, i comandi vengono letti dallo standard input o dal file specificato con l'opzione -f ed eseguiti. La directory di lavoro, l'ambiente (tranne le variabili TERM, DISPLAY e _) e la variabile umask sono quelle dall'ora d'invocazione. Un comando at - o batch - chiamato da una shell su(1) manterrà lo userid attuale. Lo standard error e lo standard output dei comandi, se ce ne sono, verranno inviati all'utente. Il messaggio verrà spedita usando il comando /usr/sbin/sendmail. Se at viene eseguito da una shell su(1), il proprietario della login riceverà il messaggio.

Il superutente può sempre usare questi comandi. Per gli altri utenti, l'autorizzazione all'uso è determinata dai file /etc/at.allow e /etc/at.deny.

Se il file /etc/at.allow esiste, solo gli utenti il cui nome vi è menzionato sono abilitati a usare at.

Se /etc/at.allow non esiste, /etc/at.deny viene controllato, ed ogni utente il cui nome non vi è menzionato è abilitato a usare at.

Se né l'uno né l'altro esistono, solo il superutente è abilitato a usare at.

Un file /etc/at.deny vuoto significa che ogni utente è autorizzato a usare questi comandi, questa è la configurazione predefinita.

OPZIONI

-V  stampa il numero della versione sullo standard error.

-q coda
    usa la coda specificata. Un identificativo di coda è composto da una singola lettera; gli identificativi validi di coda variano da a a z e da A a Z. La coda a è quella predefinita per at e la coda b per batch. Le code con lettere più alte sono eseguite con priorità inferiore. La coda speciale «=» è riservata per i compiti che sono al momento in esecuzione.

Se un compito è sottomesso a una coda identificata da una lettera maiuscola, viene trattato come se fosse stato sottomesso a batch in quel momento. Se ad atq viene data una coda specifica, mostrerà solo i processi pendenti in quella coda.

-m  Spedisce un messaggio all'utente quando il lavoro è stato completato anche se non c'è stato output.

-f file
    Legge il lavoro dal file piuttosto che da standard input.

-l  È un alias per atq.

-d  È un alias per atrm.

-v  Per atq, mostra i lavori ultimati ma non ancora cancellati nella coda; altrimenti mostra l'ora in cui verrà eseguito il compito.

Le ore mostrate sono nel formato "1997-02-20 14:50", a meno che sia impostata la variabile POSIXLY_CORRECT, nel qual caso il formato è "Thu Feb 20 14:50:00 1996".

-c  mostra i lavori elencati nella linea di comando sullo standart output.

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

VEDERE ANCHE
cron(1), nice(1), sh(1), umask(2), atd(8)

BACHI
La corretta esecuzione di batch per Linux dipende dalla presenza di una directory di tipo proc montata su /proc.

Se il file /etc/utmp non è disponibile o corrotto, o se l'utente non è collegato nel momento in cui at viene chiamato, la posta viene spedita allo userid trovato nella variabile d'ambiente LOGNAME. Se quella è indefinita o vuota, viene assunto l'attuale userid.

at e batch come implementati al momento non sono adatti ad una situazione in cui gli utenti competono per le risorse. Se questo è il vostro caso, potreste voler considerare un altro sistema di schedulazione, come nqs.

AUTORE
at è stato per lo più scritto da Thomas Koenig, ig25@rz.uni-karlsruhe.de.