LeoBenelli
Personal WebPage


DEMONI

 

CRON/CROND

Controlla la pianificazione delle operazioni periodiche.

Ogni minuto verifica se qualche schedulazione deve essere attivata.

Per gestire le schedulazioni e' opportuno usare il comando crontab -e che apre un editor, ed all'uscita verifica se le impostazioni sono state scritte correttamente.

Per visualizzare il file crontab eseguire crontab -l.

Nel file crontab se specificata la variabile MAILTO="utente", utente ricevera' l'output di ogni job, se la variabile non e' specificata verra' inviato al proprietario, se vuota (MAILTO="") non sara' inviato niente.

 

File e Directory

Descrizione

/var/spool/cron/...

Directory con script creati da crontab -e divisi per utente

/etc/cron.d/

Directory con script.

/etc/crontab

File con i settaggi di cron con possibilita' di specificare l'utente

/etc/cron.allow

Se presente indica gli utenti che possono usare cron

/etc/cron.deny

Se presente indica gli utenti che non possono usare cron

/etc/cron.hourly

Directory contenente gli script da eseguire ogni ora (per Red Hat)

/etc/cron.daily

Directory contenente gli script da eseguire ogni giorno (per Red Hat)

/etc/cron.weekly

Directory contenente gli script da eseguire ogni settimana (per Red Hat)

/etc/cron.monthly

Directory contenente gli script da eseguire ogni mese (per Red Hat)

Qui di seguito un esempio di riga di /etc/crontab :

01 * * * * root run-parts /etc/cron.hourly

Qui di seguito un esempio di riga di /var/spool/cron/root

* * * * 0 ls

Qui di seguito un esempio di riga di /etc/cron.d/kmod :

*/10 * * * * root /sbin/rmmod -as

La struttura e' la seguente di ogni richiesta e' la seguente :

<Minuto> ( Valore da 0 a 59 )

<ora> ( Valore da 0 a 23 )

<giorno> ( Valore da 1 a 31 )

<mese> ( Valore da 1 a 12 )

<G. Settimana> ( Valore da 0 a 7, sia 0 che 7 corrispondono a domenica )

<utente> ( per eseguire un lavoro con un utente diverso da root, solo per il file crontab per evitare di usare un file crontab separato per l'utente )

<comando> ( Istruzione da Eseguire )

Per i primi 5 campi con * si tralascia la selezione per quel campo

Alcune distribuzioni come redhat mettono a disposizione job gia' impostati che periodicamente eseguono tutti gli script residenti in directory dentro /etc tramite uno script chiamato run-parts.

 

Si puo' nella specifica del periodo di schedulazione indicare intervalli dalle...alle con "-" o il passo con "/" ed indicare piu' specifiche con "," quindi:

1-3 indica 1,2,3

1-9/2 indica 1,3,5,7,9

1-3,5-7 indica 1,2,3,5,6,7

 

 

AT/ATD

Permette di eseguire un comando ad una determinata ora o quando le condizioni del sistema lo permettano

Comandi

Descrizione

at

Comando per impostazione comando da schedulare.

atq

Visualizza le schedulazioni

atrm

Cancella una schedulazione

batch

Imposta una schedulazione che verra' eseguita solo quando le condizioni di impegno della cpu lo permette

Qui di seguito un esempio di riga di impostazione di una schedulazione

at 11:30 -f /usr/bin/programma

Ad ogni lavoro verra' assegnato un gruppo di appartenenza (se non specificato verra' associato al gruppo "a" ) che determina l'impegno del sistema ad eseguire il job e di conseguenza la velocita' di esecuzione. L'ordine di priorita' va da "a" (piu' veloce) a "z" poi si parte con le lettere maiuscole "A" fino a "Z" (piu' lento), Es. :

at -q Z 11:30 -f /usr/bin/programma

Per non specificare l'ora precisa di esecuzione, ma impegnare le risorse nell'esecuzione di un processo quando le condizioni lo consentano si usa il comando "batch" :

batch -f /usr/bin/programma (Quando le condizioni lo permettano il programma sara' eseguito)

o

batch 11:30 -f /usr/bin/programma (Partendo dalle 11:30 quando le condizioni lo permettano il programma sara' eseguito)

La condizione che permette l'esecuzione avviene quando il carico di job per minuto scende sotto il valore di 0,8; tale informazione e' visibile eseguendo :

cat /proc/loadavg (Il primo valore e' quello da prendere in considerazione)

Per una schedulazione periodica e' conveniente usare il sistema CRON.

 

 

SYSLOGD

Permette la gestione dei log dei vari programmi ed operazioni effettuate sul sistema.

File e Directory

Descrizione

/etc/syslog.conf

File di configurazione del demone.

I logs sono divisi per facility, questo permette di smistare i logs in base alla provenienza, cioe' al tipo di applicazione, e per priority cioe' in base alla gravita' :

Facility : auth aut-priv cron daemon kern lpr mail mark news security

Priority : debug info notice warning error crit alert emerg

Priorit