GNU/Linux >> Linux Esercitazione >  >> Linux

Come pianificare i lavori con Cron in Linux

Scoprirai che ci sono molte attività che devono essere eseguite regolarmente sul tuo sistema Linux. Ad esempio, potrebbe essere necessario aggiornare un database o eseguire il backup dei dati degli utenti nella directory /home/. Sebbene tu possa eseguire queste attività manualmente, sarebbe più efficiente (e più affidabile) se dovessi configurare il sistema Linux per eseguirle automaticamente per te.

Un'opzione per farlo è usare cron. Il demone cron (/usr/sbin/cron) ti consente di pianificare i lavori che verranno eseguiti per te in base a una pianificazione regolare.

Sintassi del file crontab

Il demone cron è installato e attivato di default sui sistemi Linux. Una volta al minuto controlla se sono stati definiti lavori per l'ora corrente. Il demone cron usa un file chiamato crontab che contiene un elenco di lavori e quando devono essere eseguiti. Esiste un file crontab per l'intero sistema Linux. Ogni utente del sistema può anche definire il proprio file crontab.

Ogni riga in un file crontab definisce un singolo lavoro cron. I primi cinque campi (separati da spazi bianchi, spazi o tabulazioni) definiscono quando
il lavoro cron deve essere eseguito. Usano la seguente sintassi:

Numero campo Etichetta del campo Gamma
1 Minuti 0-59
2 Ore 0-23
3 Giorno del mese 1-31
4 Mese 1-12
5 Giorno feriale 0-7

In un file crontab utente, i campi successivi (campo sei e superiori) specificano il comando e la sua opzione, se presente, da eseguire. In un file crontab di sistema, il sesto campo specifica l'utente da utilizzare per eseguire il comando nei campi rimanenti (campo da sette in su).

Il demone cron può eseguire qualsiasi comando o script di shell. Tuttavia, non è disponibile alcuna interazione dell'utente quando viene eseguito il comando o lo script della shell.

Di seguito sono riportate le linee guida per la configurazione di questi campi:

  • Se desideri che un lavoro venga eseguito ogni minuto, ora, giorno o mese, digita un asterisco (*) nel campo corrispondente.
  • Puoi includere più voci in un campo in un elenco separato da virgole.
  • Puoi specificare un intervallo con valori di inizio e fine separati da un trattino.
  • Puoi configurare i passaggi temporali con /n (dove n rappresenta la dimensione del passaggio).
  • Puoi specificare mesi e giorni della settimana utilizzando le prime tre lettere dei loro nomi (ad esempio, MON, TUE, JAN, FEB). Le lettere non fanno distinzione tra maiuscole e minuscole. Tuttavia, quando utilizzi le lettere, non puoi utilizzare intervalli o elenchi.
  • I numeri che rappresentano i giorni della settimana iniziano da 0 per la domenica e percorrono l'intera settimana consecutivamente, con 7 che rappresenta di nuovo la domenica. Ad esempio, 3 è mercoledì e 6 è sabato.

Definizione dei lavori utente

Gli utenti creano e mantengono i propri file crontab utilizzando il comando crontab. Le seguenti opzioni possono essere utilizzate con il comando crontab:

Opzione Descrizione
crontab -e Crea o modifica lavori. Viene utilizzato l'editor vi.
file crontab Sostituisce qualsiasi file crontab esistente per l'utente corrente con il file specificato, supponendo che il file contenga un elenco di lavori utilizzando la sintassi corretta.
crontab -l Visualizza i lavori correnti.
crontab -r Elimina tutti i lavori.

Ad esempio, supponiamo di voler definire un cron job che copi il contenuto della home directory dell'utente su un'unità USB esterna montata in /media/USB ogni notte alle 17:05. Dovresti fare quanto segue:

1. Apri una sessione terminale.

2. Al prompt della shell, immettere 'crontab -e'.

# crontab -e

Un file crontab vuoto viene creato per il tuo utente se è la prima volta che definisci un lavoro cron.

3. Premere il tasto I, quindi immettere quanto segue:

5 17 * * * cp ~/* /media/USB

4. Premere Esc, quindi immettere ':wq!'.

5. Puoi specificare quali utenti sono autorizzati a creare lavori cron e quali no creando i due file seguenti:

  1. /etc/cron.allow :gli utenti elencati in questo file possono creare lavori cron.
  2. /etc/cron.deny :Gli utenti che non sono elencati in questo file possono creare lavori cron.

Se il file /etc/cron.allow esiste, è l'unico file valutato; /etc/cron.deny verrà ignorato in questa situazione. Se nessuno di questi file esiste, solo l'utente root può definire i lavori cron utente.


Linux
  1. Come usare cron su Linux

  2. Come pianificare i lavori Cron con Crontab

  3. Come pianificare i lavori con il comando "at" in Linux

  4. Come scrivere un file con C in Linux?

  5. Recupera i lavori cron rimossi accidentalmente con crontab -r

Come visualizzare o elencare i lavori Cron in Linux

Spiegazione di Cron Jobs e Crontab su Linux

Capire Crontab in Linux con esempi

Pianifica i lavori in Linux con il comando 'at'

Come affrontare i nomi dei file con gli spazi in Linux

10 utili esempi di cron per pianificare i lavori in Linux