Vuoi eseguire un comando o uno script ogni giorno, settimanalmente, mensilmente o in base a un'altra pianificazione? È facile farlo in Ubuntu tramite cron job.
Cron è uno strumento di pianificazione del lavoro basato sul tempo per eseguire comandi o script periodicamente a orari, date o intervalli fissi. Viene in genere utilizzato per la manutenzione o l'amministrazione del sistema, sebbene possa essere utile per scopi generici, ad esempio per scaricare file da Internet a intervalli regolari.
1. Modifica i file crontab:
Gli utenti possono impostare facilmente un lavoro cron configurando il file crontab tramite il comando crontab. È preinstallato nei sistemi basati su Ubuntu. E ogni utente ha il proprio file di configurazione crontab.
b.) Pianifica attività per l'utente corrente:
Per eseguire il comando o lo script dall'utente corrente, apri semplicemente il terminale dal programma di avvio dell'app di sistema ed esegui il comando:
crontab -e
Per la prima volta, verrà chiesto di selezionare un editor per modificare il file di configurazione. Scegli quello che preferisci o premi Invio per utilizzare l'editor di testo nano predefinito.
b.) Se è necessario il privilegio di root o sudo:
Per comandi o script che richiedono sudo o privilegio utente root, puoi invece eseguire il seguente comando:
sudo crontab -e
Creerà (se non esce) o aprirà il file di configurazione per l'utente root.
c.) Specificare un utente per eseguire l'attività di pianificazione:
Puoi aggiungere -u <user_name>
flag per specificare l'utente, ad esempio ji.
sudo crontab -u ji -e
L'utente può essere root, quindi farà lo stesso con sudo crontab -e
:
sudo crontab -u root -e
2. Imposta l'intervallo di tempo, il comando o lo script da eseguire periodicamente:
Dopo aver eseguito un comando nel passaggio 1, apre il file di configurazione nella finestra del terminale (o nella console dei comandi).
Ora scorri verso il basso e aggiungi una nuova riga:
* * * * * <command or script>
I primi 5 asterischi “*” specificano l'ora e la data, cambiali di conseguenza.
Esempi:
a.) Ad esempio, per eseguire uno script python3 nella cartella Documenti a mezzanotte (00:00) ogni domenica, utilizzare:
0 0 * * 0 python3 /home/ji/Documents/script.py
Qui:
- il primo 0 specifica il minuto, usa * per ogni minuto.
- il secondo 0 specifica l'ora, usa * per ogni ora.
- il terzo flag * specifica il giorno del mese, ogni giorno se il giorno della settimana non è specificato.
- la quarta bandiera * dice ogni mese.
- il quinto flag (terzo 0) specifica il giorno della settimana. Da 0 a 6 significa da domenica a sabato.
b.) Esegui echo "hello world!"
comando tutti i giorni alle 16:30, aggiungi questa riga:
30 16 * * * echo "hello world!"
c.) Puoi usare */n
da eseguire per ogni n-esimo intervallo di tempo. E usa più intervalli di tempo specifici con le virgole.
Ad esempio, esegui il comando ogni venerdì alla prima, seconda, terza ora ogni 5 minuti (01:00, 01:05, 01:10, …, 02:00, 02:05, 02:10, …, 03:55).
*/5 1,2,3 * * 5 echo "hello world!"
Infine, salva il file di configurazione. Se modificato tramite nano, premi Ctrl+X sulla tastiera, digita y e premi Invio per salvarlo.
Articolo originale