Crrontab in Linux

Crrontab in Linux
Con l'avvento delle nuove tecnologie, vogliamo che tutto sia automatizzato, incluso i nostri sistemi informatici. Ad esempio, come amministratore di sistema, potremmo desiderare che il nostro backup venga eseguito ogni notte alle 2:00. Allora qual è lo scopo dei computer se dobbiamo svegliarci quotidianamente alle 2:00 del mattino ed eseguire manualmente i comandi per avviare il backup. Dovrebbe esserci un modo che indica al sistema di eseguire automaticamente un backup in un momento specifico. Fortunatamente, Linux OS offre un'utilità Cron che consente di automatizzare le attività in un periodo specifico.

Cron è un'utilità di linea di comando efficace e popolare utilizzata per programmare una vasta gamma di attività in un momento specificato senza interazione dell'utente. Le attività programmate sono conosciute come Cron Jobs mentre il crontab è l'elenco del file contenente i lavori CRON.

In questo articolo, spiegheremo con vari esempi mostra che è possibile modificare e utilizzare il file CRTATB per pianificare le attività nel sistema Debian 10.

Cron può essere utilizzato per automatizzare le attività nei seguenti scenari:

  • Backup di programmazione in esecuzione,
  • Controllare lo spazio del disco ad un intervallo specifico,
  • Esecuzione di manutenzione automatica,
  • Rimozione periodica dei file indesiderati,
  • Esecuzione della diagnostica di rete

Sintassi

È più facile lavorare con Cron, una volta che hai capito la sua sintassi. La sintassi generale per usare il cron è:

* * * */path/to/script.sh

Ciascuno dei campi corrisponde a quanto segue:

Minuto (0-59) ora (0-24) day_of_the_month (1-7) Month_of_the_year (1-12)
Comando day_of_the_week (0-6)

Installazione di cron

Cron viene preinstallato in Debian 10. Tuttavia, se manca dal sistema, esegui il comando seguente per installarlo:

$ sudo apt install cron

Visualizza Crrontab

Per visualizzare il file Crrontab, utilizzare il seguente comando:

$ crontab -l

Per visualizzare il file crontab di un determinato utente, utilizzare il comando seguente:

$ sudo crontab -u utente -l

Modifica Crrontab

Per modificare il file Crrontab dell'utente corrente:

$ crontab -e

Per modificare il file Crrontab di un particolare utente:

$ sudo crontab -u utente

Se stai modificando il file Crrontab per la prima volta, ti verrà chiesto di scegliere un editor:

Una volta selezionata l'editor, verrà visualizzata la seguente finestra.

Ad esempio, si desidera eseguire uno script di backup chiamato "Backup.sh "situato nella directory dei documenti quotidianamente alle 2:00. Per fare ciò, dovrai aggiungere la seguente riga nel tuo file Crrontab:

0 2 * * * /documenti /backup.sh

Nella finestra sopra, puoi aggiungere i tuoi lavori Cron uno per uno. Una volta fatto, salva ed esci dal file dopo che tutti i lavori CRON eseguiranno automaticamente al loro intervallo specificato.

Rimuovere Crrontab

Per rimuovere il file Crrontab, immettere il comando seguente nel terminale:

$ crontab -r

Ora passiamo attraverso una serie di esempi di lavori cron su una macchina Linux.

Gestisci un lavoro cron ogni minuto

Per eseguire un lavoro cron ogni minuto, aggiungi la seguente riga nel tuo file Crrontab:

* * * * */path/to/script.sh

Esegui un lavoro cron dopo ogni 10 minuti

Per programmare un lavoro cron da eseguire dopo ogni 10 minuti, aggiungi la seguente riga nel file Crrontab.

*/10 * * * */path/to/script.sh

Eseguire un lavoro cron in mesi specifici

Per programmare un lavoro cron da eseguire in mesi specifici e.G. Marzo, agosto, dicembre, aggiungi il lavoro Cron nel tuo file Crrontab nel modo seguente:

* * * gennaio, maggio, agosto */percorso/a/script.sh

Eseguire un lavoro cron nei giorni selezionati

Se desideri che il tuo lavoro cron venga eseguito nei giorni selezionati, supponiamo domenica e venerdì alle 17:00, dovrebbe apparire come il seguente.

0 17 * * Sun, ven/Path/to/script.sh

Eseguire un lavoro cron ogni giorno in un momento specifico

Per programmare un lavoro cron per eseguire quotidianamente in un momento specifico, diciamo alle 3 del mattino, aggiungi questa riga nel tuo file Crrontab.

0 3 * * */path/to/script.sh

Esegui un lavoro cron in un giorno specifico

Per programmare un lavoro cron da eseguire in un giorno specifico, diciamo ogni domenica, aggiungi questa riga nel tuo file Crrontab.

0 0 * * SUN/PATH/TO/Script.sh

Il lavoro si svolgerà alle 00:00 di ogni domenica.

Eseguire più attività in un unico lavoro cron

Per programmare più attività in un singolo lavoro cron, aggiungi tutti gli script nel tuo file Crrontab separandoli con un punto e virgola.

* * * * */path/to/script1.sh; /Path/to/script2.sh

Eseguire un lavoro cron su ogni giorni feriali

Per programmare un lavoro cron da eseguire ogni giorno della settimana che è dal lunedì al venerdì, dovrai aggiungere questa riga nel tuo file crontab.

0 0 * * 1-5/Path/to/script.sh

Il lavoro si svolgerà alle 00:00 di tutti i giorni feriali.

Gestisci un lavoro Cron due volte al giorno

Per programmare un lavoro da eseguire due volte al giorno E.G. Alle 6:00 e alle 15:00, dovrai aggiungere questa riga nel tuo file Crrontab:

0 6,15 * * */path/to/script.sh

Esegui un lavoro cron ogni ora

Per programmare un lavoro cron per eseguire ogni ora al minuto 0, dovrai aggiungere questa riga nel tuo file Crrontb:

0 * * * */path/to/script.sh

Ad esempio, se l'ora corrente è alle 14:00, il lavoro funzionerà le 15:00, le 16:00 e così via.

Esegui un lavoro Cron ogni 3 ore

Per programmare un lavoro Cron da eseguire ogni 3 ore al minuto 0, dovrai aggiungere questa riga nel tuo file Crrontab:

0 */3 * * */path/to/script.sh

Ad esempio, se l'ora corrente è alle 14:00, il lavoro funzionerà le 17:00, alle 20:00 e così via.

Esegui il lavoro Cron alle 16:00 il primo di ogni mese

Per programmare un lavoro per eseguire la giornata prima di ogni mese alle 16:00, dovrai aggiungere questa riga nel tuo file Crrontab:

0 16 1 * */path/to/script.sh

Stringhe in Crrontab

Puoi anche usare le seguenti stringhe piuttosto che i lunghi comandi ripetitivi.

@orario- esegui il lavoro cron ogni ora i.e. “0 * * * *"
@mezzanotte- eseguono lavoro cron ogni giorno i.e. “0 0 * * *"
@Daily- Come mezzanotte
@weekly- gestisci lavoro cron ogni settimana, io.e. “0 0 * * 0"
@mensile- gestisci lavoro cron ogni mese i.e. “0 0 1 * *"
@all'anno- Gestisci lavoro cron ogni anno i.e. “0 0 1 1 *"
@annuale- come @Enual
@Riavvia- Esegui il lavoro cron ad ogni avvio

Ad esempio, per eseguire il lavoro Cron ogni giorno nel primo minuto e nella prima ora, aggiungi la seguente riga:

@daily/percorso/to/script.sh

Ad esempio, per eseguire il lavoro Cron ogni volta che il server viene riavviato:

@Reboot/Path/to/script.sh

Questo è tutto ciò che c'è! In questo articolo, abbiamo imparato come automatizzare vari compiti usando Crrontab nel sistema Debian. Utilizzando gli esempi di cui sopra, è possibile programmare qualsiasi tipo di lavoro da avviare senza alcuna interazione utente.