Come Creare e Gestire i Cron Jobs su Linux

Cron è uno degli strumenti più utili di Linux e un preferito dagli sviluppatori perché consente di eseguire comandi automatizzati in periodi specifici, date e intervalli utilizzando script generici e specifici per compiti. Dalla descrizione, puoi immaginare come gli amministratori di sistema lo utilizzino per automatizzare compiti di backup, pulizia delle directory, notifiche, ecc.

I lavori di cron vengono eseguiti in background e controllano costantemente il file /etc/crontab, e le directory /etc/cron.*/ e /var/spool/cron/. I file di cron non devono essere modificati direttamente e ogni utente ha un crontab univoco.

Come si suppone quindi di creare e modificare i lavori di cron? Con i comandi crontab. Il crontab è il metodo che si utilizza per creare, modificare, installare, disinstallare e elencare i lavori di cron.

Il comando per creare e modificare i lavori di cron è lo stesso e semplice. E cosa ancora più interessante è che non è necessario riavviare cron dopo aver creato nuovi file o modificato quelli esistenti.

$ crontab -e

Sintassi di Cron

Come per qualsiasi linguaggio, lavorare con cron è molto più semplice quando si comprende la sua sintassi e ci sono 2 formati che dovresti conoscere:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Spiegazione della sintassi di cron sopra:

  • A: Minutes range: 0 – 59
  • B: Hours range: 0 – 23
  • C: Days range: 0 – 31
  • D: Months range: 0 – 12
  • E: Days of the week range: 0 – 7. Starting from Monday, 0 or 7 represents Sunday
  • NOME_UTENTE: sostituisci questo con il tuo nome utente
  • /percorso/al/comando – Il nome dello script o comando che desideri pianificare

Ma non è tutto. Cron utilizza 3 simboli di operatore che ti consentono di specificare più valori in un campo:

  1. Asterisco (*): specificare tutti i valori possibili per un campo
  2. La virgola (,): specificare un elenco di valori
  3. Trattino (-): specificare un intervallo di valori
  4. Separatore (/): specificare un valore di passo

Ora che conosci la sintassi e gli operatori di Cron, vediamo alcuni esempi di cron.

Esempi di Cron Job

Il primo passo per eseguire comandi cron è installare il tuo crontab con il comando:

# crontab -e

Esegui /root/backup.sh alle 3 del mattino ogni giorno:

0 3 * * * /root/backup.sh

Esegui script.sh alle 4:30 del pomeriggio il secondo di ogni mese:

30 16 2 * * /path/to/script.sh

Esegui /scripts/phpscript.php alle 10 di sera durante la settimana:

0 22 * * 1-5 /scripts/phpscript.php

Esegui perlscript.pl alle 23 minuti dopo mezzanotte, alle 2 del mattino e alle 4 del mattino, tutti i giorni:

23 0-23/2 * * * /path/to/perlscript.pl

Esegui il comando Linux alle 04:05 ogni domenica:

5 4 * * sun /path/to/linuxcommand

Opzioni di Cron

# crontab -l
OR
# crontab -u username -l

Elimina tutti i lavori di crontab.

# crontab -r

Elimina il lavoro di Cron per un utente specifico.

# crontab -r -u username

Stringhe in Crontab

Le stringhe sono tra le cose preferite dagli sviluppatori perché aiutano a risparmiare tempo eliminando la scrittura ripetitiva. Cron ha delle stringhe specifiche che puoi usare per creare comandi più rapidamente:

  1. @hourly: Esegui una volta ogni ora cioè “0 * * * *
  2. @midnight: Esegui una volta ogni giorno cioè “0 0 * * *
  3. @daily: stesso come mezzanotte
  4. @weekly: Esegui una volta ogni settimana, cioè “0 0 * * 0
  5. @monthly: Esegui una volta ogni mese cioè “0 0 1 * *
  6. @annually: Esegui una volta ogni anno cioè “0 0 1 1 *
  7. @yearly: stesso come @annually
  8. @reboot: Esegui una volta ad ogni avvio

Ad esempio, così si fa il backup del sistema ogni giorno:

@daily /path/to/backup/script.sh

A questo punto, hai tutto ciò di cui hai bisogno per creare e gestire compiti di sistema usando Cron. Ora puoi iniziare a configurare e mantenere diversi ambienti usando comandi pianificati.

Quanto sei esperto nell’uso di Cron? E ci sono dettagli che puoi contribuire all’articolo? La casella di discussione è qui sotto.

Quando hai capito abbastanza su come funziona Crontab, puoi utilizzare questi pratici strumenti generatore di Crontab per generare gratuitamente le righe di crontab.

Inoltre, puoi leggere l’articolo di Ubuntu su come utilizzare Cron qui. Contiene risorse che potrebbero esserti utili.

Source:
https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/