L’avvio del servizio Cron
All’avvio del vostro GNU/Linux, Cron viene lanciato dallo script /etc/init.d/cron e carica (legge) il file /etc/crontab, i files presenti nelle directory /etc/cron.d, /var/spool/cron/crontabs ed /etc/passwd caricando in memoria i jobs corrispondenti. Ogni utente, compreso il superutente (root) ha il proprio file crontab nella directory /var/spool/cron/.E’ in questo file che l’utente può avviare alcune applicazioni, schedulare l’esecuzione di alcuni processi o altro ancora.
I PERMESSI DI CRON
Normalmente, tutti gli utenti presenti in un sistema possono modificare il file crontab, però tale situazione può essere cambiata modificando due file: /etc/cron.allow ed /etc/cron.deny. Il primo, se presente, contiene gli utenti che sono abilitati all’utilizzo di crontab (si specifica su ogni riga il nome dell’utente). Il secondo, se esiste permette di inserire gli utenti che non possono utilizzare crontab. (si specifica solo un utente per riga).
Il servizio cron esiste?
Per verificare l’esistenza di Cron (se è attivo) basta scrivere da terminale:
# ps aux | grep ‘crond’
Se l’istruzione precedente da luogo ad un esito positivo il servizio Cron esiste!
IL FILE CRONTAB
Il file crontab verifica se l’utente ha i permessi nei file /etc/cron.allow e /etc/cron.deny di eseguire i “processi” schedulati.
L’inserimento di un nuovo evento nel file crontab avviene digitando dalla finestra del terminale il seguente comando:
# crontab -e
E’ da notare, che l’evento da aggiungere ha la seguente formattazione:
Minuti Ora Giorno Mese Giorno-del-Mese Comando-da-eseguire
Di seguito trovate alcuni esempi di eventi inseriti nel file crontab.
10 02 * * * /home/backupindicicommerciali
40 04 * * 1 /home/backupgestionearrivi
0,25,50 12-18 * * 1-5 /home/backupindici
0 * * * 0,6 /home/backupindici
Come si vede nel primo esempio, in pratica la prima riga, prima si aggiungono i minuti (10) e poi l’ora (02). I tre asterischi indicano che l’esecuzione avverrà in tutti i giorni, tutti i mesi, tutti i giorni della settimana, e infine il processo da eseguire si trova nella cartella /home/ e si chiama backupindicicommerciali.
Nel secondo esempio, l’esecuzione avviene allo stesso modo del primo esempio, tranne che per l ‘esecuzione del processo che avviene il lunedì, all’inizio di ogni settimana (indicato con il numero 1, mentre la domenica si indica con il valore zero).
Nel terzo esempio al minuto 0, 25 e 50 di ogni ora viene lanciato il processo backupindici tra mezzogiorno e le 18 dei giorni feriali (indicato con il numero 1-5).
Nel quarto esempio ogni ora viene lanciato il processo backupindici nei giorni di sabato e domenica (0,6).
Una volta aggiunti gli eventi si salva il file con il tasto ESC, di seguito si digitano le lettere :wq (tale situazione in presenza dell’editor di default vi) si preme invio e si registra definitivamente la variazione voluta.
Se si vuole ottenere una lista degli eventi contenuti nel file crontab basta digitare il seguente comando da terminale (da shell):
# crontab -l
In sintesi, per modificare gli eventi di cron basta digitare il comando crontab -e, mentre per visualizzarli solamente basta digitare il comando crontab -l. Il comando utilizza in modo predefinito l’editor (normalmente vi) specificato nelle variabili di ambiente EDITOR e VISUAL.