0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery 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 (oppure Jan-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 esempio 1,15 per i minuti 1 e 15.
  • - (trattino): definisce un intervallo di valori, ad esempio 9-17 per le ore dalle 9 alle 17.
  • / (barra): specifica i valori incrementali, ad esempio */10 per 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.

  1. Crei lo script, ad esempio ~/greet.sh:
  2. Lo renda eseguibile: chmod +x ~/greet.sh
  3. 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.log

Gestire 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 crontab e a modificarlo con crontab -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 -l e crontab -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 Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery 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

  1. Pianificazione delle attività con Cron
  2. Automazione dell’amministrazione di sistema
  3. Progetto di scripting avanzato
  4. Rotazione e pulizia automatizzate dei log
← Torna a Linux Command Line & Bash Scripting Mastery