Pianificazione delle attività con Cron
Padroneggi l’utilità «cron» per pianificare l’esecuzione automatica di script e comandi a intervalli o orari prestabiliti.
Pianificazione delle attività con Cron è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Automatizzare le attività con Cron
Benvenuto nel mondo dell'automazione! In questa lezione imparerà a conoscere cron, una potente utility di Linux che consente di pianificare l'esecuzione automatica di comandi o script a orari specifici.
Immagini di configurare backup giornalieri o controlli del sistema ogni ora senza muovere un dito: questo è il compito di cron!
Il file crontab personale
Ogni utente di un sistema Linux ha il proprio file crontab (tabella cron). Qui vengono memorizzate tutte le attività pianificate.
Per modificare il proprio crontab personale, userà il comando crontab -e. Il comando apre il file nell'editor di testo predefinito, pronto per aggiungere nuovi job.
Voce crontab: campi temporali
Una voce crontab è composta da sei parti. Le prime cinque definiscono quando verrà eseguito il comando e sono separate da spazi:
- Minuto:
0-59 - Ora:
0-23(0 indica mezzanotte) - Giorno del mese:
1-31 - Mese:
1-12(oppureJan-Dec) - Giorno della settimana:
0-7(0 o 7 indica domenica, 1 indica lunedì)
Voce crontab: il comando
La sesta e ultima parte di una voce crontab è il comando o script che desidera eseguire.
Qui è fondamentale usare percorsi assoluti per comandi e script, ad esempio /usr/bin/python invece di python. I job cron vengono eseguiti in un ambiente minimale, quindi il normale PATH potrebbe non essere disponibile.
Caratteri speciali di crontab
Per rendere flessibili le pianificazioni, cron utilizza caratteri speciali:
*(asterisco): corrisponde a tutti i valori possibili, ad esempio ogni minuto o ogni ora.,(virgola): separa un elenco di valori, ad esempio1,15per i minuti 1 e 15.-(trattino): definisce un intervallo di valori, ad esempio9-17per le ore dalle 9 alle 17./(barra): specifica i valori incrementali, ad esempio*/10per ogni 10 minuti.
Scorciatoie di pianificazione predefinite
Per le esigenze di pianificazione più comuni, cron offre comode scorciatoie che sostituiscono i primi cinque campi temporali:
@reboot: viene eseguito una volta dopo il riavvio del sistema.@yearly(o@annually): viene eseguito una volta all'anno (0 0 1 1 *).@monthly: viene eseguito una volta al mese (0 0 1 * *).@weekly: viene eseguito una volta alla settimana (0 0 * * 0).@daily(o@midnight): viene eseguito una volta al giorno (0 0 * * *).@hourly: viene eseguito una volta all'ora (0 * * * *).
Esercitazione: pianificare uno script semplice
Creiamo uno script semplice che registra un messaggio di saluto, quindi pianifichiamone l'esecuzione ogni giorno alle 10:00.
- Crei lo script, ad esempio
~/greet.sh: - Lo renda eseguibile:
chmod +x ~/greet.sh - Lo aggiunga al crontab (
crontab -e):0 10 * * * /home/user/greet.sh
Questa voce significa: al minuto 0, all'ora 10 (10:00), ogni giorno del mese, ogni mese e ogni giorno della settimana, eseguire/home/user/greet.sh.
#!/bin/bash
# This script logs a greeting to a temporary file.
echo "Hello from Cron! The time is $(date)" >> /tmp/cron_greeting.logGestire i job Cron
Dopo aver aggiunto i job cron, dovrà gestirli:
- Per elencare le voci crontab attuali:
crontab -l - Per rimuovere tutte le voci crontab (usi questa opzione con estrema cautela, perché non è possibile annullare l'operazione):
crontab -r
Dopo aver apportato modifiche, controlli sempre il crontab con crontab -l per assicurarsi che le voci siano corrette.
Le variabili d'ambiente di Cron
Ricordi che i job cron vengono eseguiti in un ambiente minimale. Ciò significa che spesso non dispongono delle stesse variabili d'ambiente, come PATH, della shell interattiva.
Se lo script dipende da comandi specifici, ne utilizzi i percorsi assoluti oppure definisca direttamente nel file crontab, all'inizio, le variabili d'ambiente necessarie, ad esempio PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.
Sfida sulla sintassi di crontab
Deve pianificare l'esecuzione dello script /home/user/daily_report.sh alle 9:15 ogni giorno feriale, dal lunedì al venerdì. Quale voce crontab è corretta?
Riepilogo: pianificazione con Cron completata
Ottimo lavoro! Ora conosce i fondamenti di cron per la pianificazione delle attività.
- Ha imparato a conoscere il file
crontabe a modificarlo concrontab -e. - Conosce i sei campi di una voce cron, inclusi i campi temporali e il comando.
- Ha esplorato i caratteri speciali e le scorciatoie predefinite per una pianificazione flessibile.
- Sa gestire i job con
crontab -lecrontab -r. - Ha inoltre imparato l'importanza dei percorsi assoluti e delle variabili d'ambiente nel contesto di cron.
Ora può iniziare ad automatizzare!
Domande Frequenti
La lezione «Pianificazione delle attività con Cron» è gratuita?
Sì — il testo completo di «Pianificazione delle attività con Cron» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Pianificazione delle attività con Cron»?
Padroneggi l’utilità «cron» per pianificare l’esecuzione automatica di script e comandi a intervalli o orari prestabiliti. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Pianificazione delle attività con Cron»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Pianificazione delle attività con Cron
- Automazione dell’amministrazione di sistema
- Progetto di scripting avanzato
- Rotazione e pulizia automatizzate dei log