Ricerca nel sito web

Come creare e gestire lavori Cron su Linux


Cron è uno degli strumenti più utili di Linux e uno dei preferiti dagli sviluppatori perché consente di eseguire comandi automatizzati in periodi, date e intervalli specifici utilizzando script sia generici che specifici per attività. Data questa descrizione, puoi immaginare come gli amministratori di sistema lo utilizzano per automatizzare le attività di backup, la pulizia delle directory, le notifiche, ecc.

I processi cron vengono eseguiti in background e controllano costantemente il file /etc/crontab e /etc/cron.*/ e /var/spool/cron/ directory. I file cron non dovrebbero essere modificati direttamente e ogni utente ha un crontab unico.

Allora come dovresti creare e modificare i lavori cron? Con i comandi crontab. Il crontab è il metodo che usi per creare, modificare, installare, disinstallare ed elencare i processi cron.

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


crontab -e

Sintassi Cron

Proprio come con qualsiasi linguaggio, lavorare con cron è molto più semplice quando ne capisci la 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 cron sopra:

  • A: Intervallo di minuti: 0 – 59
  • B: intervallo di ore: 0 – 23
  • C: intervallo di giorni: 0 – 31
  • D: intervallo di mesi: 0 – 12
  • E: intervallo dei giorni della settimana: 0 – 7. A partire da lunedì, 0 o 7 rappresentano domenica
  • NOMEUTENTE: sostituiscilo con il tuo nome utente
  • /percorso/comando: il nome dello script o del comando che desideri pianificare

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

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

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

Esempi di lavori Cron

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


crontab -e

Esegui /root/backup.sh alle 3:00 ogni giorno:


0 3 * * * /root/backup.sh

Esegui script.sh alle 16:30 il due di ogni mese:

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

Esegui /scripts/phpscript.php alle 22 durante la settimana:

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

Esegui perlscript.pl 23 minuti dopo mezzanotte, alle 2:00 e alle 4:00, 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 cron

Elenca i lavori cron.


crontab -l
OR
crontab -u username -l

Elimina tutti i lavori crontab.

crontab -r

Elimina il lavoro Cron per un utente specifico.


crontab -r -u username

Stringhe in Crontab

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

  1. @hourly: viene eseguito una volta ogni ora, ad esempio "0 * * * *"
  2. @midnight: eseguito una volta al giorno, ad esempio "0 0 * * *"
  3. @daily: uguale a mezzanotte
  4. @weekly: eseguito una volta alla settimana, ad esempio "0 0 * * 0"
  5. @monthly: esegui una volta al mese, ad esempio "0 0 1 * *"
  6. @annualmente: eseguito una volta all'anno, ad esempio "0 0 1 1 *"
  7. @annuale: uguale a @annuale
  8. @reboot: esegui una volta ad ogni avvio

Ad esempio, ecco come eseguire il backup del sistema ogni giorno:

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

A questo punto, hai tutto ciò che ti serve per creare e gestire attività di sistema utilizzando Cron. Ora puoi iniziare a configurare e gestire diversi ambienti utilizzando comandi pianificati.

Quanto sei un utente Cron? E ci sono dettagli con cui puoi contribuire all'articolo? La casella di discussione è sotto.

Quando capisci abbastanza come funziona Crontab, puoi utilizzare queste ingegnose utilità di generazione di Crontab per generare linee crontab gratuitamente.

Inoltre, puoi leggere l'articolo di Ubuntu su come utilizzare Cron qui. Contiene risorse che potresti trovare utili.