SCHEDULAZIONE DI PROCESSI

11 / 100
()

Definizioni


In quasi tutti i sistemi operativi è possibile schedulare o meglio programmare ad un certo orario l’avvio di un comando o programma senza essere collegati in qualche modo al sistema.
Gli strumenti disponibili su Unix e Linux sono:
at Permette di eseguire un comando una volta sola, eventualmente quando il sistema non è occupato o in un momento definibile dall’utente. Non verrà trattato in questa sede.
cron E’ un daemon che viene utilizzato dal sistema per eseguire compiti configurabili dall’utente ad intervalli regolari.

Cron e crontab


Il demone crond viene eseguito all’avvio del sistema ( /etc/rc.d/init.d/crond ) e, ogni minuto, analizza il suo file di configurazione predefinito /etc/crontab per verificare se deve eseguire dei comandi.
Su varie distribuzioni /etc/crontab prevede le seguenti voci:
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Che in pratica fanno eseguire:
– tutte le ore (al minuto 01) i comandi presenti nella directory /etc/cron.hourly,
– tutti i giorni alle 4.02 i comandi in /etc/cron.daily,
– tutte le settimane, alle 4.22 di domenica i comandi in /etc/cron.weekly,
– tutti i mesi, alle 4.42 del primo del mese, tutti i comandi in /etc/cron.monthly
Ogni riga di /etc/crontab prevede quindi sette campi.

I primi 5 campi servono per definire quando eseguire il comando specificato nel settimo campo. Possono contenere valori separati da virgola o un asterisco che indica tutti i calori possibili:
1) Minuto in cui eseguire il comando. Valori da 00 a 59.
2) Ora in cui eseguire il comando. Valori da 0 a 23 (0 è mezzanotte, 12 mezzogiorno)
3) Giorno del mese in cui eseguire il comando. Valori da 1 a 31.
4) Mese dell’anno in cui eseguire il comando. Valori da 1 a 12.
5) Giorno della settimana in cui eseguire il comando. Valori da 0 a 6. (0 corrisponde alla Domenica, 1 al Lunedì.. )
6) Utente con cui viene eseguito il comando. Crond viene eseguito come root e può impersonificare qualsiasi utente. Questo campo può anche essere omesso (root di default).
7) Riga di comando da eseguire (con eventuali opzioni, argomenti ecc.)
Il comando run-parts, nel caso di cui sopra, esegue tutti i comandi presenti nella directory indicata.

Oltre a /etc/crontab, riservato al sistema, ogni utente può editare un proprio crontab file con la stessa struttura di /etc/crontab.
In BOFH! i dettagli.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?