GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare un Cron Job in Linux

Introduzione

Il demone Cron è un'utilità Linux integrata che esegue i processi sul tuo sistema a un'ora pianificata. Cron legge il crontab (tabelle cron) per comandi e script predefiniti.

Utilizzando una sintassi specifica, puoi configurare un processo cron per pianificare script o altri comandi da eseguire automaticamente.

Questa guida ti mostra come impostare un cron job in Linux, con esempi.

Prerequisiti

  • Un sistema che esegue Linux
  • Accesso a una riga di comando/finestra del terminale (CtrlAltT o CTRLAltF2 )
  • Un account utente con root o sudo privilegi

Sintassi di base di Crontab

Cron legge i file di configurazione per un elenco di comandi da eseguire. Il demone usa una sintassi specifica per interpretare le righe nel crontab tabelle di configurazione.

Per poter impostare un cron job, dobbiamo comprendere gli elementi di base che compongono questa sintassi. Il modulo standard per una linea crontab è il seguente:

a b c d e /directory/command output

Quindi, le parti di un cron comando sono:

1. I primi cinque campi a b c d e specificare l'ora/data e la ricorrenza del lavoro.

2. Nella seconda sezione, il /directory/command specifica la posizione e lo script che desideri eseguire.

3. Il segmento finale output è facoltativo. Definisce come il sistema notifica all'utente il completamento del lavoro.

1. Cron Job Time Format

I primi cinque campi del comando rappresentano i numeri che definiscono quando e con quale frequenza viene eseguito il comando. Uno spazio separa ogni posizione, che rappresenta un valore specifico.

La tabella seguente riassume i possibili valori per i campi e la sintassi di esempio:

Campo Valori possibili Sintassi Descrizione
[a] – Minuto 0 – 59 7 * * * * Il processo cron viene avviato ogni volta che l'orologio di sistema mostra 7 nella posizione dei minuti.
[b] – Ora 0 – 23 0 7 * * * Il processo cron viene eseguito ogni volta che l'orologio di sistema mostra le 7:00 (le 7:00 sarebbero codificate come 19).
[c] – Giorno 0 – 31 0 0 7 * * Il giorno del mese è 7, il che significa che il lavoro viene eseguito ogni 7 giorni del mese.
[d] – Mese 0 =nessuno e 12 =dicembre 0 0 0 7 * Il mese numerico è 7, il che determina che il lavoro viene eseguito solo a luglio.
[e] – Giorno della settimana 0 =domenica e 7 =domenica 0 0 * * 7 7 nella posizione corrente significa che il lavoro verrebbe eseguito solo la domenica.

2. Comando da eseguire

La sezione successiva specifica il comando da eseguire. Rappresenta la directory esatta e il nome del file dello script o dei comandi che si desidera completare da cron. Ad esempio:

/root/backup.sh

Nel nostro esempio, il comando esamina la directory principale del sistema ed esegue backup.sh sceneggiatura. Puoi specificare qualsiasi script o comando che desideri.

3. Uscita (opzionale)

Per impostazione predefinita, cron invia un'e-mail al proprietario del file crontab quando viene eseguito. Questo è un modo conveniente per tenere traccia delle attività. Tieni presente che attività regolari o minori possono riempire rapidamente la tua casella di posta.

Poiché si tratta di una funzionalità opzionale, è possibile prevenire tale scenario disabilitando l'e-mail di output. Per disattivare l'output dell'email, aggiungi la seguente stringa, >/dev/null 2>&1 , dopo i campi di temporizzazione e comando.

* * * * * directory/command >/dev/null 2>&1

4. Utilizzo degli operatori (opzionale)

Per efficienza, la sintassi di cron usa anche gli operatori. Gli operatori sono caratteri speciali che eseguono operazioni sui valori forniti nel campo cron.

  • Un asterisco (*) rappresenta tutti i valori. Utilizza questo operatore per mantenere le attività in esecuzione durante tutti i mesi o tutti i giorni della settimana.
  • Una virgola (,) specifica valori individuali separati.
  • Un trattino (–) indica un intervallo di valori.
  • Una barra (/) viene utilizzato per dividere un valore in passi. (*/2 sarebbe ogni altro valore, */3 sarebbe ogni terzo, */10 sarebbe ogni decimo, ecc.)

Impostazione di un processo Cron

Per configurare un cron job, apri crontab con un editor di testo preferito e inserisci la sintassi per il comando che desideri eseguire.

Come modificare il file crontab?

Per aprire il file di configurazione crontab per l'utente corrente, inserisci il seguente comando nella finestra del tuo terminale:

crontab –e

Puoi aggiungere un numero qualsiasi di attività pianificate, una per riga.

Una volta terminata l'aggiunta di attività, salva il file ed esci. Il demone cron leggerà ed eseguirà le istruzioni fornite.

Ricorda, non è necessario riavviare Cron per applicare le modifiche.

Modifica crontab per un altro utente

Per modificare crontab per un altro utente, inserisci il seguente comando:

crontab –u other_username –e

Esempi di lavoro Cron

Quando si specificano i lavori, utilizzare l'asterisco per specificare tutti i valori. L'inserimento di un valore in uno dei campi esegue il comando solo su quel valore. Ad esempio:

* 2 0 * 4 /root/backup.sh

Anche se è impostato per funzionare alle 2 del mattino, viene eseguito solo quando il primo del mese (0) cade di mercoledì (4). Se modifichi quanto segue:

* 2 0 * * /root/backup.sh

Il comando viene eseguito il primo di ogni mese alle 2 del mattino. La tabella seguente fornisce alcuni comandi di base che utilizzano /root/backup.sh file dai nostri esempi precedenti.

Cron Job Comando
Esegui Cron Job ogni minuto * * * * * /root/backup.sh
Esegui Cron Job ogni 30 minuti 30 * * * * /root/backup.sh
Esegui Cron Job ogni ora 0 * * * */root/backup.sh
Esegui Cron Job ogni giorno a mezzanotte 0 0 * * * /root/backup.sh
Esegui Cron Job ogni giorno alle 2 del mattino 0 2 * * * /root/backup.sh
Esegui Cron Job ogni 1 mese 0 0 1 * * /root/backup.sh
Esegui Cron Job ogni 15 del mese 0 0 15 * * /root/backup.sh
Esegui Cron Job il 1° dicembre – Mezzanotte 0 0 0 12 * /root/backup.sh
Esegui Cron Job sabato a mezzanotte 0 0 * * 6 /root/backup.sh

Utilizzo di caratteri speciali

È possibile utilizzare la barra per dividere una stringa di tempo in passaggi. Per eseguire un backup ogni 15 minuti:

*/15 * * * *

Il * indica tutti i valori e il /15 conta e si ripete ogni 15 minuti.

Utilizzare il trattino per specificare un intervallo. Per eseguire il codice ogni giorno della settimana alle 4 del mattino:

0 4 * * 1-5 /root/backup.sh

In questo caso, 1-5 specifica dal lunedì al venerdì.

Utilizza una virgola per specificare le singole istanze in cui deve essere eseguito il codice:

0 4 * * 2,4 /root/backup.sh

Questo eseguirà il codice alle 4 del mattino di martedì e giovedì.

Alcuni caratteri jolly possono essere combinati. Esegui il comando a giorni alterni a 37 minuti dopo l'ora:

37 1-23/2 * * * /root/backup.sh

1-23 specifica l'intervallo di ore, /2 imposta l'intervallo ogni due ore.

Elenca i lavori Cron esistenti

Puoi elencare tutti i lavori cron sul tuo sistema senza aprire il file di configurazione crontab. Digita il seguente comando in una finestra di terminale:

crontab –l

Linux
  1. Come usare cron su Linux

  2. Come impostare i lavori cron in cPanel

  3. Come utilizzare il formato Cron Job per pianificare attività in Linux

  4. Come impostare un Cron Job in cPanel (Tutorial video)

  5. Come impostare la variabile $ Path in Linux

Come impostare un Cron Job in cPanel

Come impostare Cron Job in cPanel

Come impostare un Cron Job su Hostinger?

Che cos'è un Cron Job in Linux

Cron Vs Anacron:come configurare Anacron su Linux (con un esempio)

Come impostare ed eseguire un cron in cPanel