At e batch

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.

Configurazione dei processi At

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:

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 [Invio], quindi digitate Ctrl-D. � possibile specificare pi� comandi premendo dopo ciascuno di essi il tasto [Invio]. Dopo aver digitato tutti i comandi, premete [Invio] per posizionarvi in una riga vuota, quindi digitate Ctrl-D. In alternativa, al prompt � possibile inserire uno script della shell, premendo [Invio] dopo ogni riga dello script, e digitando Ctrl-D su una riga vuota per uscire. Se inserite uno script, la shell usata � la stessa impostata nell'ambiente SHELL dell'utente, la shell di login dell'utente, o /bin/sh (l'elemento rilevato per primo).

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 Visualizzazione dei processi da eseguire.

L'uso del comando at pu� essere limitato. Consultate la sezione Controllo dell'accesso a at e batch per maggiori dettagli.

Configurazione dei processi batch

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 [Invio], quindi digitate Ctrl-D. � possibile specificare pi� comandi premendo dopo ciascuno di essi il tasto [Invio]. Dopo aver digitato tutti i comandi, premete [Invio] per posizionarvi in una riga vuota, quindi digitate Ctrl-D. In alternativa, al prompt � possibile inserire uno script della shell, premendo [Invio] dopo ogni riga dello script, e digitando Ctrl-D su una riga vuota per uscire. Se inserite uno script, la shell usata � la stessa impostata nell'ambiente SHELL, la shell di login dell'utente, o /bin/sh (l'elemento rilevato per primo). Non appena il carico medio va al di sotto di 0.8, la serie di comandi o di script viene eseguita.

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 ulteriori informazioni consultate la sezione Visualizzazione dei processi da eseguire.

L'uso del comando at pu� essere limitato. Consultate la sezione Controllo dell'accesso a at e batch per maggiori dettagli.

Visualizzazione dei processi da eseguire

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.

Opzioni da linea di comando aggiuntive

Le opzioni da linea di comando aggiuntive per at e batch includono:

Tabella 27-1. at e batch Opzioni da linea di comando

OpzioneDescrizione
-fConsente di leggere i comandi o lo script della shell da un file invece di specificarli al prompt.
-mConsente di inviare messaggi di posta all'utente al termine del processo.
-vConsente di visualizzare l'ora in cui il processo verr� eseguito.

Controllo dell'accesso a at e batch

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.

Avvio e interruzione del servizio

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 13 per ulteriori dettagli sull'esecuzione automatica del servizio cron all'avvio.