Mentre cron e anacron consentono di pianificare operazioni ricorrenti, il comando at consente di pianificare un'operazione da eseguire una sola volta in un dato momento. Il comando batch consente di pianificare un'operazione da eseguire una sola volta quando il carico medio del sistema va al di sotto di 0.8.
Per usare at o batch il pacchetto RPM at deve essere installato e il servizio atd deve essere in esecuzione. Per determinare se il pacchetto è installato, usate il comando rpm -q at. Per determinare se il servizio è in esecuzione, usate il comando /sbin/service atd status.
Per pianificare un processo da eseguire una sola volta in un dato momento, digitate il comando at tempo, dove tempo è il momento di di esecuzione del comando.
L'argomento tempo può essere uno dei seguenti:
Formato HH:MM — Per esempio, 04:00 specifica le 4:00 del mattino. Se l'ora indicata è già passata, l'operazione verrà eseguita alla stessa ora del giorno successivo.
midnight — Indica mezzanotte.
noon — Indica mezzogiorno.
teatime — Indica le 4:00 del pomeriggio.
Formato nome mese-giorno-anno — Per esempio, gennaio 15 2002 specifica il quindicesimo giorno di gennaio dell'anno 2002. L'anno è opzionale.
Formati MMGGAA (MMDDYY), MM/GG/AA (MM/DD/YY) o MM.GG.AA (MM.DD.YY) — Per esempio, 011502 specifica il quindicesimo giorno di gennaio dell'anno 2002.
ora + tempo (now + time) — Il tempo è espresso in minuti, ore, giorni o settimane. Per esempio, ora + 5 giorni specifica che il comando deve essere eseguito alla stessa ora tra cinque giorni.
L'ora deve essere specificata per prima, seguita dalla data opzionale. Per maggiori informazioni sul formato, consultate il file di testo /usr/share/doc/at-<versione>/timespec.
Dopo avere digitato il comando at con il tempo,
compare il prompt at>. Digitate il comando di esecuzione,
premete
Se la serie di comandi o script cerca di visualizzare le informazioni, l'output viene inviato via e-mail all'utente.
Utilizzate il comando atq per visualizzare i processi non ancora eseguiti. Per maggiori informazioni consultate la Sezione 28.3.3.
L'uso del comando at può essere limitato. Consultate la Sezione 28.3.5 per maggiori dettagli.
Per eseguire un'operazione una sola volta quando il carico medio del sistema va al di sotto di 0.8, usate il comando batch.
Dopo avere digitato il comando batch, il prompt
at> viene visualizzato. Inserite il comando da eseguire,
premete
Se la serie di comandi o script cerca di visualizzare le informazioni, l'output viene inviato via e-mail all'utente.
Utilizzate il comando atq per visualizzare i processi non ancora eseguiti. Per maggiori informazioni consultate la Sezione 28.3.3.
L'uso del comando at può essere limitato. Consultate la Sezione 28.3.5 per maggiori dettagli.
Per visualizzare i processi at e batch non ancora eseguiti, utilizzate il comando atq. Verrà visualizzato l'elenco di tali processi, ognuno dei quali sarà su una riga. Ogni riga ha il formato "jobnumber, date, hour, job class, e username". Gli utenti possono solo visualizzare i propri processi. Se l'utente root esegue il comando atq, saranno visualizzati i processi di tutti gli utenti.
Le opzioni da linea di comando aggiuntive per at e batch includono:
Opzione | Descrizione |
---|---|
-f | Consente di leggere i comandi o lo script della shell da un file invece di specificarli al prompt. |
-m | Consente di inviare messaggi di posta all'utente al termine del processo. |
-v | Consente di visualizzare l'ora in cui il processo verrà eseguito. |
Tabella 28-1. at e batch Opzioni da linea di comando
I file /etc/at.allow e /etc/at.deny possono essere usati per limitare l'accesso ai comandi at e batch. Il formato di entrambi i file di controllo dell'accesso è costituito da un nome utente su ciascuna riga. Non possono essere lasciati spazi vuoti. Il demone at (atd) non deve essere riavviato se i file di controllo dell'accesso vengono modificati. Questi file sono letti ogni volta che un utente cerca di eseguire i comandi at o batch.
L'utente root può sempre eseguire i comandi at e batch, indipendentemente dai file di controllo dell'accesso.
Se il file at.allow esiste, solo gli utenti qui elencati sono autorizzati a utilizzare at o batch e il file at.deny viene ignorato.
Se at.allow non esiste, tutti gli utenti elencati in at.deny non sono autorizzati a utilizzare at o batch.
Per avviare il servizio at, utilizzate il comando /sbin/service atd start. Per interrompere il servizio, utilizzate il comando /sbin/service atd stop. Si consiglia di eseguire il servizio all'avvio. Consultate il Capitolo 14 per ulteriori dettagli sull'esecuzione automatica del servizio cron all'avvio.