GNU/Linux >> Linux Esercitazione >  >> Debian

Che cos'è un Cron Job in Linux

Cron è un demone che esegue le attività in background del sistema. Le attività pianificate per l'esecuzione successiva sono note come "Cron Jobs “. I lavori Cron sono considerati ideali per attività ricorrenti come la creazione regolare di backup del sistema. Gli utenti Linux possono automatizzare le loro solite attività orarie, giornaliere, settimanali, mensili o annuali utilizzando Cron Jobs. Per tenere traccia dei Cron Jobs, "File Crontab ” vengono utilizzati, che possono essere specifici dell'utente o avere Cron Jobs a livello di sistema.

Questo articolo ti guiderà su Cron Jobs e sui suoi tipi. Inoltre, ti mostreremo anche alcuni esempi di Cron Jobs e la procedura per elencare e rimuovere Cron Jobs dal file crontab. Allora, iniziamo!

Cos'è un Cron Job in Linux

Cron la funzionalità del demone in Linux è simile a quella che fanno i servizi in Windows ed entrambi vengono utilizzati per pianificare attività che verranno eseguite in un momento specifico sullo sfondo del sistema. Cron Jobs vengono utilizzati principalmente per ripulire regolarmente la cache di sistema o creare un backup dei file di registro e dei database. Considerando che il file crontab comprende tutti i Cron Jobs di sistema e ha anche una sintassi specifica per scrivere i comandi.

Sintassi del comando crontab in Linux

La sintassi da seguire durante la scrittura di un comando crontab è riportata di seguito:

* * * * * [Command or Script]

Qui:

  • Il primo asterisco * rappresenta "Minuto
  • Il secondo asterisco * rappresenta "Ora
  • Il terzo asterisco * rappresenta "Giorno del mese
  • Il quarto asterisco * rappresenta "Mese
  • Il quinto e l'ultimo asterisco * rappresentano "Giorno della settimana

Ora, controlla i valori dei campi sopra menzionati:

Comandi Cron Job in Linux

Ecco alcuni dei comandi Cron Jobs che puoi utilizzare nel tuo terminale Linux:

Comando Descrizione
crontab -a Il "crontab -a Il comando ” viene utilizzato per creare un file crontab specifico per l'utente. Devi specificare il "nome file ” in questo comando dopo aver aggiunto “-a opzione ".
crontab -r Il "crontab -r Il comando ” viene utilizzato per eliminare il file crontab.
crontab -e Il "crontab -e Il comando ” viene utilizzato per modificare il file crontab già creato.
crontab -v Il "crontab -v Il comando ” viene utilizzato per mostrare l'ora di modifica del file crontab.
crontab -l Il "crontab -l Il comando ” viene utilizzato per visualizzare il contenuto del file crontab.

Come controllare il servizio Cron in Linux

Prima di avviare il lavoro Crob, assicurati che "cron.service ” è attualmente attivo sul tuo sistema Linux. A tale scopo, eseguire il comando "systemctl indicato di seguito ” comando:

$ sudo systemctl status cron.service

L'output indicato di seguito dichiara che cron.service è "attivo ” e in esecuzione sul nostro sistema:

Nel caso, se il "cron.service ” è inattivo sul tuo sistema Linux, quindi esegui il seguente comando per avviarlo:

$ sudo systemctl start cron.service

Tipi di Cron Jobs in Linux

I lavori Cron sono principalmente di due tipi:a livello di sistema Cron Jobs e Specifico per utente Cron Jobs. Nella sezione seguente, spiegheremo la differenza tra entrambi i tipi e i relativi file Cron Job.

Cosa sono i lavori Cron a livello di sistema in Linux

I lavori Cron sono accessibili solo dall'amministratore di sistema e sono noti come lavori Cron a livello di sistema. Questi lavori Cron possono essere trovati in "/etc/cron.d ” e “/etc/crontab " file. Questi file crontab vengono eseguiti tramite “/etc/cron.daily ”, “/etc/ogni ora ”, “/etc/cron.monthly ”, e “/etc/cron.weekly ”.

Se sei un amministratore di sistema, puoi modificare "/etc/crontab ” nel tuo nano editor per definire Cron Jobs:

$ sudo nano /etc/crontab

Cosa sono i processi Cron specifici dell'utente in Linux

I Cron Job specifici dell'utente sono i tipi di Cron Job definiti per un particolare utente. Questi tipi di Cron Job esistono in "/var/spool/cron/crontabs/ ” directory. È possibile modificare manualmente i file Cron Job specificati; tuttavia, si consiglia di utilizzare "crontab -e ” comando per eseguire l'operazione di modifica:

$ crontab -e

L'esecuzione di "crontab ” comando con il “-e L'opzione " ti mostrerà tre opzioni per modificare il file Cron Job. Abbiamo selezionato "1 ” poiché è facile modificare i file nell'editor nano:

Il tuo file Crontab specificato dall'utente sarà in qualche modo simile a questo:

Esempi di Cron Jobs in Linux

In questa sezione, ti mostreremo alcuni degli esempi di Cron Job che possono aiutarti a comprendere la formazione dei Cron Jobs.

Nota: Tutti gli script utilizzati negli esempi riportati di seguito vengono creati manualmente.

Esempio 1: Il seguente comando crontab viene aggiunto nel file crontab per l'esecuzione di “/root/backup.sh ” script dopo ogni 40 minuti:

40 * * * * /root/backup.sh

Dopo aver digitato il comando crontab, premi "CTRL+O ” per salvare le modifiche aggiunte:

Esempio 2: Nel secondo esempio, scriveremo un comando crontab che eseguirà il "filescript.sh ” ogni 17:00 il 10 maggio, agosto, settembre e ottobre:

00 05 10 5,8,9,10 * /usr/local/bin/filescript.sh

Esempio 3: Il seguente comando crontab eseguirà il file "filescript.sh ” copione alle 22:00 ogni sabato:

0 10 * * sat  /scripts/filescript.sh

Esempio 4: Puoi anche specificare più giorni nel comando crontab. Ad esempio, per eseguire il nostro "filescript.sh ” script alle 16:00 ogni domenica e venerdì, scriveremo questo comando crontab:

0 04 * * sun,fri  /script/filescript.sh

Esempio 5: Nell'esempio seguente, abbiamo aggiunto una condizione che aiuta a eseguire il "/scripts/filescript.sh ” file ogni 30 secondi:

* * * * * /scripts/filescript.sh
* * * * *  sleep 30; /scripts/filescript.sh

Esempio 6: Puoi anche utilizzare stringhe Cron Job speciali per pianificare i lavori. Ad esempio, "@giornaliero ” viene aggiunto all'inizio del comando crontab per pianificare un Cron Job, che verrà eseguito ogni giorno:

@daily /scriptdir/filescript.sh

Specificando "@annuale ” nel comando seguente eseguirà il file “filescript.sh ” script su base annuale:

@yearly /scriptdir/filescript.sh

Per pianificare un Cron Job che esegua il file “filescript.sh ” una volta alla settimana, aggiungi il “@weekly ” stringa all'inizio del comando crontab:

@weekly /scriptdir/filescript.sh

Allo stesso modo, puoi utilizzare "@hourly ” e “@mensile ” stringhe per programmare l'esecuzione dei Cron Jobs rispettivamente una volta ogni ora e una volta al mese.

Esempio 7: Puoi anche definire Cron Jobs per un particolare utente nel file aperto. Per fare ciò, controlla la sintassi indicata di seguito:

*****  [Username] [Script_name]

Qui creeremo un Cron Job che eseguirà il "file di script ” presente nella nostra home directory per “linuxfoss ” utente ogni 20 minuti:

20 * * * * linuxfoss scriptfile

Esempio 8: Vuoi eseguire un backup di tutti i tuoi account utente? Con l'aiuto del comando crontab, puoi pianificare un backup del sistema. Ad esempio, il comando crontab indicato di seguito creerà un processo Cron per eseguire il backup degli account utente alle 6 del mattino ogni settimana:

 0 6 * * 1 tar -zcf /var/backups/home.tgz /home/

Premi "CTRL+O ” per scrivere i comandi nel file crontab e poi uscire dal nano editor:

Come elencare Cron Jobs in Linux

Elencare Cron Jobs nel terminale è utile quando si visualizzano tutti i Cron Jobs contemporaneamente. A tale scopo, puoi aggiungere "-l ” opzione in “crontab ” e quindi eseguilo sul tuo terminale Linux come segue:

$ crontab -l

Nel nostro file crontab, abbiamo salvato solo il Cron Job per creare un backup per tutti gli account utente e può essere visto anche nell'output:

Come creare un backup di Cron Jobs in Linux

Ti abbiamo mostrato l'elenco di Cron Jobs utilizzando il "crontab comando ". Puoi anche reindirizzare l'output di "crontab -l ” in un file specifico per creare un backup dei Cron Jobs aggiunti. L'operatore STDOUT o reindirizzamento “> ” può essere utilizzato per eseguire l'operazione specificata:

$ crontab -l > backupfile.txt

Ora, digita il "gatto ” con il nome del file di backup di Cron Job per visualizzarne il contenuto:

$ cat backupfile.txt

Come rimuovere Cron Jobs in Linux

Il "-r L'opzione è stata aggiunta nel comando crontab per rimuovere i Cron Jobs dal file crontab. Inoltre, puoi aggiungere "-i ” opzione per richiedere all'utente di eliminare i Cron Jobs:

$ crontab -i -r

Per rimuovere Cron Jobs senza chiedere conferma, esegui il semplice "crontab -r comando ” e il gioco è fatto!

$ crontab -r

Conclusione

La pianificazione e l'automazione dei processi ripetitivi aumentano la produttività in un sistema basato su Linux riducendo al contempo il monitoraggio manuale e l'interruzione dell'utente. Esistono enormi programmi che aiutano a pianificare le attività; tuttavia, il "Cron ” è il più utilizzato. Nel file crontab, aggiungiamo i nostri Cron Jobs utilizzando "Cron demone. Questo articolo spiegava la sintassi di Cron Job, i relativi comandi e i tipi di Cron Jobs. Inoltre, abbiamo anche mostrato alcuni esempi di Cron Jobs che possono aiutarti a comprendere la struttura dei comandi di Crontab.


Debian
  1. 4 alternative a cron in Linux

  2. Come uso cron in Linux

  3. Che cos'è un utente Linux?

  4. Utilizzo e politica di Cron Job

  5. Cos'è JingOS Linux?

Lavori Cron programmati

Che cos'è Login Shell in Linux?

Che cos'è la media del carico in Linux?

Che cos'è il file .bashrc in Linux?

Linux Crontab:15 fantastici esempi di Cron Job

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