Crontab
Il file di cron è presente in /etc/crontab, ma ogni utente può creare il proprio con il comando:
crontab -e
Segue la spiegazione dei singoli parametri:
MINUTI ORE GIORNO MESE GIORNO SETT SCRIPT
0-59 0-23 1-31 1-12 0-7 /<path>/script
Il carattere jolly * può essere usato in ogni singolo parametro per prendere tutti i valori.
Giorni della settimana: 0 = domenica, 1= lunedì.Se si usa una virgola si indicano i giorni in cui eseguire il comando.
Minuti: */5 il comando viene eseguito ogni 5 minuti.
Ore: 10-17 il comando viene eseguito dalle 10 alle 17.
Ore: 10,17 il comando viene eseguito dalle 10 e alle 17.
Per vedere quali crontab sono in esecuzione sul sistema è sufficiente digitare il seguente comando:
crontab -l
In assenza di file di cron validi il risultato sarà simile al seguente:
no crontab for nomeutente
Una volta chiuso l'editor, il nuovo file di crontab verrà salvato in /var/spool/cron/.
Crontab per comandi root:
Se si desidera pianificare un'azione che richiede i privilegi di amministrazione è possibile creare un file di crontab per l'utente root con il seguente comando:
sudo crontab -e
Esempio: spegnimento del computer:
47 17 * * * /sbin/shutdown -h now
Backup contab
Ad esempio, in presenza di un crontab oracle e root.
cd /var/spool/cron/
[root@lab06 cron]# ls -lrt
-rw------- 1 root root 80 Dec 13 17:55 root
-rw------- 1 root oinstall 72 Dec 13 19:06 oracle
Creare una copia
cp oracle oracle_20191217
cp root root_20191217
[root@lab06 cron]# ls -lrt
-rw------- 1 root root 80 Dec 13 17:55 root
-rw------- 1 root oinstall 72 Dec 13 19:06 oracle
-rw------- 1 root root 80 Dec 17 08:53 root_20191217
-rw------- 1 root root 72 Dec 17 08:53 oracle_20191217
-rw------- 1 root root 80 Dec 17 08:53 root_20191217
-rw------- 1 root root 72 Dec 17 08:53 oracle_20191217
Standard output ed error
Per non visualizzare lo standard output ed error (a video) dello script aggiungere i seguenti comandi:
[root@lab06 cron]# crontab -l
30 12 * * 1-6 /u01/app/oracle/work/lancio_query_email.sh 1>/dev/null 2>&1
Per non visualizzare lo standard output ed error (a video) dello script aggiungere i seguenti comandi:
[root@lab06 cron]# crontab -l
30 12 * * 1-6 /u01/app/oracle/work/lancio_query_email.sh 1>/dev/null 2>&1