LINUX

Linux Crontab con lavori Cron di esempio

Il file Crontab memorizza i lavori cron in Linux. I lavori cron (cron) vengono eseguiti periodicamente a orari, date e intervalli fissi. Il suo equivalente in Windows è l’attività pianificata. Tutte le attività ripetitive possono essere pianificate utilizzando cron.

Il file Crontab è il file di configurazione che contiene informazioni sull’ora e sul comando/script da eseguire.

In questo tutorial impariamo crontab di Linux insieme a esempi a pianificare i lavori.

Sintassi Crontab

Ogni riga nel file crontab rappresenta un lavoro. Contenere cinque campi seguito da A comando o script di shell eseguire.

Sintassi:

* (Minute) *(Hour) * (Day of the Month) *(Month of the Year) *(Day of the Week) username <path to command/script to execute>
* Minuto Questo valore di campo è compreso tra 0 e 59
* Ora Questo valore di campo è compreso tra 0 e 23
* giorno del mese Questo valore di campo è compreso tra 1 e 31
* Mese dell’anno Il valore di questo campo è compreso tra 1 e 12. Sono accettati anche i primi 3 alfabeti del mese, ad esempio Jan, Feb, Mar
* Giorno della settimana Questo valore di campo è compreso tra 0 e 7. Dove 0 e 7 è domenica. 1 è lunedì, 2 è martedì, come saggio
Campi Crontab
file crontab – che rappresenta un lavoro

Definire più valori o intervalli

Per definire più valori e intervalli, utilizzare la virgola (,) e il trattino (-). asterisco

va con tutto. Ad esempio, per visualizzare più valori, utilizzare 1,2,3 o Lun,Mar,Mer e per gli intervalli è possibile utilizzare 1-3 o Lun-Mer.

Come usare crotab crontab

Il comando viene utilizzato per aprire e modificare/aggiungere lavori cron. Il demone cron in esecuzione su Linux esegue lavori pianificati all’ora definita nel crontab (tabella cron). Il file crontab principale a livello di sistema è /etc/crontab. Cron è il prossimo Modalità di default

installato nella maggior parte delle distribuzioni Linux. Ogni utente sul sistema Linux può gestire i propri processi cron. Ogni cron utente è memorizzato in /var/spool/cron/crontabs/. Il demone cron esegue sia l’utente che il sistema crontab.

Il demone Cron ha un $PATH predefinito definito, che puoi trovare in /etc/crontab. Se non definito, utilizzare il percorso assoluto o aggiungere $PATH alla variabile cron. MAILTO La notifica e-mail di Cron viene inviata al proprietario di crontab per impostazione predefinita. Per cambiarlo, modifica

variabile d’ambiente. Cronache sono memorizzati in /var/log/syslog su sistemi Ubuntu/Debian e in /var/log/cron

su Redhat/Rocky Linux. Puoi filtrare il file di registro utilizzando il comando grep per verificare se il processo cron è stato eseguito correttamente o meno.

1. Modifica/Aggiungi Crontab

$ crontab -e

Per modificare (lavori esistenti) o aggiungere un nuovo cron, utilizzare il comando crontab -e. Questo aprirà un editor per l’utente corrente.

$ crotab -u username -e

Per modificare il file crontab di un altro utente, digitare:

Oppure esegui semplicemente il comando crontab -e accedendo come quell’utente.

2. Elenca i lavori Cron

$ crontab -l

Per elencare tutti i lavori dell’utente corrente, digitare:

$ crontab -u -l 

Per elencare tutti i lavori cron per un utente specificato, digitare:

3. Rimuovi i lavori cron

# crontab -r

Per rimuovere tutti i processi cron dell’utente corrente, esegui il seguente comando:

Nota: questo rimuoverà tutti i processi cron senza chiedere conferma.

# crontab -ir

Se si desidera eliminare in modo interattivo, è necessario utilizzare il seguente comando:

Esempi di lavori Crontab

Diamo un’occhiata ad alcuni esempi di crontab per la pianificazione dei lavori cron.

1. Esegui cron job ogni 12 ore

0 */12 * * * /scripts/test.sh

Questo aiuta con regolari controlli di sistema o backup. Per pianificare un’attività da eseguire ogni 12 ore, digitare:

2. Esegui il cron job ogni 5 minuti

*/5 * * * * /scripts/test.sh

A volte è necessario monitorare il sistema ogni n minuti. Utilizzare la seguente espressione per eseguire l’attività ogni 5 minuti.

3. Esegui cron job ogni giorno alle 2 del mattino

0 2 * * * /script/test.sh

Il backup giornaliero può essere programmato per un orario specifico. La seguente espressione esegue il cron job ogni giorno alle 2:00.

0 14 * * * /script/test.sh

Per programmare un cron job ogni giorno alle 14:00, cron utilizza l’orologio a 24 ore.

30 12 * * * /script/test.sh

4. Esegui cron job ogni giorno alle 12:30

5. Esegui cron job ogni minuto

* * * * * /scripts/test.sh

Ad esempio, hai uno script che deve essere eseguito ogni minuto, utilizza la seguente espressione.

6. Esegui il cron job in determinati minuti

2,15,30 * * * * /scripts/test.sh

Utilizzare la seguente espressione cron per eseguire lo script ai minuti 2, 15 e 30.

7. Esegui cron job da eseguire ogni sabato all’1:00

0 1 * * sat /scripts/test.sh

Questo ti aiuta a eseguire il backup il sabato a un’ora specifica. La seguente espressione aiuta a eseguire il cron job ogni sabato all’una di notte.

8. Eseguire il cron job da eseguire in mesi specifici

0 1 1 jan,apr,jun *  /script/test.sh 

Eseguire cron job alle 01:00 del primo giorno del mese di gennaio, aprile e giugno.

9. Eseguire il cron job nei giorni selezionati

0 4 * * sat,sun  /script/test.sh

Per eseguire lavori cron in giorni selezionati come sabato e domenica, utilizzare:

10. Esegui cron job in momenti specifici della giornata

0 9-17 * * * /script/test.sh

Al minuto 0 dopo ogni ora dalle 9 alle 17

11. Esegui cron job due volte ogni sabato e domenica

0 2,23 * * sat,sun /scripts/test.sh

I lavori Cron consentono l’esecuzione delle attività in orari specifici in giorni specifici

12. Eseguire il cron job per un intervallo dal lunedì al venerdì

0 2 * * mon-fri /scripts/test.sh

Alle 02:00 tutti i giorni della settimana, dal lunedì al venerdì.

13. Esegui il cron job mensile

@monthly /scripts/test.sh

Invece di usare 0 0 1 **, puoi usare la scorciatoia usando @monthly. Funziona alle 00:00 del primo giorno del mese. In alternativa, puoi inserire lo script in /etc/cron.monthly/.

14. Esegui il cron job settimanale

@weekly /scripts/test.sh

Invece di usare 0 0 * * mon, puoi usare la scorciatoia usando @weekly. Funziona alle 00:00 di lunedì. In alternativa, puoi inserire lo script in /etc/cron.weekly/.

15. Esegui cron job ogni giorno

@daily /scripts/test.sh

Invece di usare 0 0 * * *, puoi usare la scorciatoia usando @daily. Opera alle 00:00 tutti i giorni. In alternativa, puoi inserire lo script in /etc/cron.daily/.

16. Esegui un cron job orario

@hourly /scripts/test.sh

Invece di usare 0 */1 * * *, puoi usare la scorciatoia usando @hourly. Funziona a 0 minuti dopo ogni ora. In alternativa, puoi inserire lo script in /etc/cron.hourly/.

17. Eseguire il processo cron al riavvio

@reboot /scripts/test.sh

Per eseguire un’attività a ogni riavvio del sistema, utilizzare la stringa @reboot. Lo script verrà eseguito dopo il riavvio.

18. Eseguire il cron job ogni 30 secondi

Cron consente solo l’esecuzione per un minimo di 60 secondi. Non esiste un modo semplice per pianificare l’esecuzione di un processo ogni 30 secondi.

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

Ma possiamo usare una soluzione alternativa aumentando il ritardo di 30 secondi.

19. Eseguire un cron job e reindirizzare l’output

*/3 * * * * /usr/bin/php /script/run.php >> /var/log/run.log

Questo eseguirà lo script php ogni 3 minuti e reindirizzerà l’output su un file.

20. Esegui cron job per eseguire più comandi

0 */12 * * Sun command1 && command2

Per eseguire cron per eseguire più comandi, utilizzare l’operatore && tra i comandi.

Eseguire il backup dei processi cron

# crontab -l > /backup/cron/root-bckup.txt

Per eseguire il backup di cron utilizzare il seguente comando

# crontab -u userName -l > /backup/cron/user-bckup.txt

Per cron eseguire il backup di un utente specifico, digitare:

# crontab /backup/cron/root-backup.txt

Per ripristinare cron dal file di backup, usa semplicemente:

Conclusione

In questo tutorial abbiamo imparato a conoscere crontab in Linux ed esempi per programmare cron job.

Se hai feedback e suggerimenti, commenta di seguito.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close