I cron job sono operazioni pianificate che possiamo fare eseguire autonomamente ad un certo orario al nostro raspberry.
Log di Cron
Se non siamo esperti di Cron un buon metodo per capire se in nostri job vengono eseguiti correttamente o se incorrono in errori è quello di abilitare il log dei Cron. Questi non è abilitato in installazione. Per farlo, dovete editare il file /etc/rsyslog.conf.
sudo nano /etc/rsyslog.conf
Togliete il segno di commento alla riga
# cron.* /var/log/cron.log
Dovete riavviare il raspberry. Cron.log è il vostro file di log
Operazioni di utente e operazioni di sistema
Il file Crontab contiene le vostre operazioni. Esiste un file crontab per ciascun utente. Per editarlo :
crontab -e
Se però volete fare eseguire una operazione pianificata che impatta sul sistema, come per esempio un riavvio ad una certa ora, dovete editare il file crontab dell’utente root
sudo crontab -e
Impostazione del job
Nel crontab ogni riga è l’impostazione di una operazione pianificata. Ogni operazione pianificata è composta da 5 numeri più il comando che si vuole inserire. I numeri in sequenza sono minuti (0-59), ore (0-23, 0 = mezzanotte), giorno (1-31), mese (1-12), giorno della settimana (0-6, 0 = domenica). Il simbolo * (asterisco) in una delle posizioni dice di non considerare quel determinato filtro.
Esempi :
30 3 * * * /usr/script/miocomando.sh
Il comando sopra deve essere eseguito ogni giorno alle 3.30
15 * * * * /usr/script/miocomando.sh
Il comando sopra deve essere eseguito al 15esimo minuto di ogni ora, per sempre. Quindi viene eseguito 24 volte in un giorno.
Impostazione del comando
Nel nostro esempio non stiamo eseguendo un comando linux , bensì uno script, una lista di comandi contenuti nel file miocomando.sh. Se, per esempio, vogliamo eseguire un reboot dentro al nostro file avremo la riga sudo reboot now.
Dobbiamo però dire al sistema operativo quale programma usare per interpretare i comandi quando lo script viene eseguito. Per farlo aggiungiamo all’inizio del nostro script una particolare riga, chiamata shebang.
#!/bin/bash sudo reboot now
Ricordate, infine, che per essere eseguito, un comando deve avere i permessi di esecuzione.
Approfondimento : https://hackerstribe.com/2015/raspberry-pi-crontab-e-cronjob/