Una guida per principianti a Crrontab su Centos

Una guida per principianti a Crrontab su Centos

IL "Cron"Daemon è un'applicazione Linux integrata che gli utenti di Linux utilizzano per la pianificazione dell'esecuzione dei processi. Cron cerca il "tavoli cron" O "Crrontab"Per i file e gli script particolari. Il file crontab fornisce una serie di comandi che è possibile eseguire regolarmente. Fornisce inoltre i nomi dei comandi utilizzati per la gestione dell'elenco dei comandi. Crrontab Utilizza anche lo scheduler Cronjob per eseguire operazioni. Secondo una serie di istruzioni, Cron è una funzione di sistema che farà o eseguirà processi per te. Crrontab è il nome del programma, così come l'utilità utilizzata per queste modifiche.

In questo post, tratteremo i seguenti punti relativi a Crrontab:

  1. Storia
  2. Versioni moderne Cron
  3. Cos'è un cronjob?
  4. Perché usare Cronjob?
  5. Elementi Cronjob
  6. Crrontab Working
  7. Utilizzo di Crrontab
  8. Sintassi di Crrontab
  9. Caratteri speciali in espressione
  10. Cron Special Strings
  11. Variabile d'ambiente
  12. Crrontab variabile
  13. Opzioni di comando Crrontab
  14. Installazione di cron su centos
  15. Scheduler Crrontab: a livello di sistema
  16. Accesso Cron
  17. Gestione di crontab
  18. 14 Esempi di Cronjob
  19. Creazione di Cronjob per utente specifico
  20. Elencare i cronjobs
  21. Creazione di cronjobs backup
  22. Rimozione di cronjobs
  23. Gestione della produzione di Cronjob
  24. Limiti di Cronjob
  25. Gestione degli errori di Cronjob
  26. Generatori di sintassi per crontab
  27. Front-end grafica per Crrontab

Quindi andiamo verso questo viaggio!

Storia:

Quando il sistema operativo ha abilitato la modalità multiutente per i suoi utenti, il servizio di sistema Cron è stato chiamato da "/etc/rc". Il suo algoritmo è costituito dai seguenti passaggi:

  1. Leggi il "/usr/lib/crontab"Directory.
  2. Controlla se i comandi eseguono all'ora e alla data corrente, quindi eseguire i comandi come root, il superutente.
  3. Dormire un minuto.
  4. Ripeti il ​​passaggio 1 dall'inizio.

Questa versione di Cron era affidabile e diretto, ma utilizzava risorse indipendentemente dal fatto che avesse un lavoro da fare. Durante un esperimento alla fine degli anni '70 alla Purdue University, è stato scoperto che un vax che si estende nel tempo che si estende Servizio di Cron A tutti i 100 utenti hanno fatto troppa pressione sul sistema.

Versioni moderne Cron:

Nuovi Cron sono apparsi con l'introduzione del progetto Linux e GNU. IL "Vixie Cron", Creato da Paul Vixie nel 1987, è il cron più comune là fuori. IL Vixie Cron La versione 3 è stata introdotta nell'ultimo trimestre del 1993. Nel gennaio 2004, ISC Cron è stato rinominato versione 4.1. La maggior parte delle distribuzioni BSD e Linux utilizza la versione 3, che ha alcune correzioni di bug minori. Nel 2007, Red Hat ha separato Vixie-Cron 4.1 e Anacron 2.3 è stato aggiunto nel 2009. Anacron e Dcron sono altre due implementazioni di spicco. Anacron non è un programma cron autonomo. Deve essere chiamato da un altro Cronjob. Matt Dillon, il fondatore di Dragonfly BSD, ha creato Dcron e Jim Pryor ha assunto la sua manutenzione nel 2010.

Dale Mellor ha creato McRon, una versione Cron a base di Guile compatibile con Vixie Cron, nel 2003. Consente inoltre una maggiore flessibilità includendo qualsiasi codice dello schema nelle descrizioni delle attività e nei calcoli di pianificazione. MCRON è installato per impostazione predefinita nell'ambito della gestione dei pacchetti Guix. Garantisce inoltre che i pacchetti richiesti siano installati e che i crontab pertinenti si riferiscano correttamente ad essi. Laddove le implementazioni CRON non sono accessibili in un ambiente di web hosting, una soluzione WebCron imposta le attività di ring da eseguire regolarmente.

Cos'è un cronjob?

Cron è uno strumento che consente di pianificare le attività per la successiva esecuzione. Potresti voler utilizzare un altro comando se si desidera pianificare un lavoro una tantum per una data successiva. Allo stesso tempo, Cron è l'ideale per le attività ricorrenti.

Potresti avere familiarità con i processi di fondo in Windows, come i servizi. Cron è un demone che esegue la sua funzionalità eseguendo le attività in background. In uno stato inattivo, il demone attende di svolgere un'attività dal sistema di lavoro o di un altro sistema basato su Linux presente nella rete. Parlando della struttura del file cron, abbiamo un file cron, un semplice file di testo che include comandi che verranno eseguiti all'ora pianificata. IL "/etc/crontab"È il file CRTAB del sistema predefinito, che esiste nella seguente directory di Crrontab:"/etc/cron.*/". Gli amministratori di sistema possono modificare il file CRTAB del sistema.

I sistemi operativi basati su Linux supportano numerosi utenti. Ognuno di essi può creare il loro file crontab e aggiungere comandi per eseguire le attività ogni volta che lo desiderano. Un daemon Cron controllerà il file Crrontab, quindi eseguirà il lavoro in background. Puoi anche utilizzare i cronjob per la creazione di backup, il monitoraggio dello spazio del disco e per l'automazione della manutenzione del sistema. Le attività di Cron sono ideali per una macchina che esegue sette giorni alla settimana, 24 ore al giorno. Mentre gli amministratori di sistema usano principalmente le attività Cron, possono anche essere estremamente preziosi per gli sviluppatori Web.

Perché usare Cronjob?

  • Cronjobs aiuta a archiviare le tabelle del database.
  • Elimina tutti i file di registro più vecchi di un anno.
  • Invia notifiche e -mail, come avvisi di scadenza della password e newsletter.
  • Aiuta il sistema operativo nell'assunzione di un backup pianificato di database e file di registro.
  • Pulizia dei dati memorizzati nella cache regolarmente.
  • Viene utilizzato per automatizzare il mantenimento del sistema.
  • È uno strumento eccezionale utilizzato per automatizzare le attività UNIX.

Elementi Cronjob:

La maggior parte dei cronjobs ha tre parti:

  • IL comando che è utilizzato per l'esecuzione di uno script.
  • IL sceneggiatura che verrà eseguito.
  • IL produzione di esecuzione dello script.

La maggior parte dei programmi che richiedono l'uso di un cronjob fornirà istruzioni dettagliate su come configurarlo.

Il file Crrontab:

Una riga di file crontab è "inattiva" o "attiva". Una riga "attiva" è una voce di comando cron o un parametro ambientale. Qualsiasi riga che viene ignorata, compresi i commenti, è considerata "inattiva". Non sono prese in considerazione le schede, gli spazi principali e le righe vuote. Le righe con il segno "#" come primo personaggio non spaziale viene letto come commenti e ignorato. Nelle impostazioni della variabile di ambiente o nei comandi Cron, i comandi non sono autorizzati ad esistere sulle stesse righe perché se si fa, i commenti diventano parte del comando cron.

Crrontab Working:

Crrontabs si trovano nella directory locale, come in "/var/spool" O "/var/spool/cron/crontabs"Che è la sua sotto-directory. Anche se sono presenti in una di queste posizioni, usa il comando crontab per svolgere il compito di modificarli. Capteremo quali componenti sono necessari prima che tu possa aspettarti i risultati desiderati dalle azioni di Crrontab. La voce nel crontab deve essere presente nel primo comando. I cinque parametri indicano il loro tempo di esecuzione e se dovrebbe essere eseguito o meno. Il crontab può essere modificato inserendo la modalità di modifica prima con il comando "crontab -e". Una volta che hai dedicato del tempo come input, il crontab è pronto per essere eseguito al momento specificato.

Il daemon Cron aiuta a eseguire i controlli necessari in modo che il comando CRTAB possa essere eseguito in quell'istanza. Ogni minuto, il demone Crrontab controlla il crontab. Di conseguenza, questo crontab contiene informazioni fino al minuto. Dopo l'esecuzione del controllo, il comando associato viene eseguito con i campi nel CRTATB corrispondente all'ora corrente.

Sizzazioni come "ore mancanti" durante la luce del giorno dovrebbero essere evitate perché il comando potrebbe non essere nemmeno eseguito una volta. D'altra parte, se il tempo si verifica più di una volta, il comando può persino eseguire due volte. Un altro esempio è che un trattino "-" può eseguire il Cronjob più volte durante il giorno. Ad esempio, se qualcuno desidera eseguire un Cronjob alla decima e 11 ° ora del giorno, il comando 10-11 può essere utilizzato. Un altro aspetto critico dell'esecuzione di cronjobs sono le impostazioni per consentire l'esecuzione di lavori. Consentire o negare a un utente di eseguire cronjobs può essere eseguito apportando alcune modifiche nel cron.consentire o cron.Negare i file.

Utilizzo di Crrontab:

Linux System Pack ha incluso "Crrontab" per la pianificazione del lavoro. Di conseguenza, l'esecuzione di uno script come root semplifica la manutenzione degli aggiornamenti del sistema. È semplice come cambiare il Cronjob e, dopo quello, attendere il processo di riavvio.

Sintassi del crontab:

La sintassi del crontab comprende sei campi in cui i primi cinque campi sono correlati alla data e all'ora di esecuzione. Ogni campo in un file Crrontab esiste nel seguente ordine:

Hour (S) Hour (S) Month (S) Weekday Command (S)
  • minuto: Il suo valore si trova tra l'intervallo 0-59. L'opzione minuto definisce il minuto esatto che il comando crontab esegue.
  • ora: Il suo valore si trova tra l'intervallo 0-23. L'opzione ora definisce il giorno in cui il comando CRTAB.
  • giorno: Il suo valore si trova tra l'intervallo 1-31. L'opzione del giorno specifica il giorno in cui il comando CRTAB.
  • mese: Il suo valore si trova tra l'intervallo 1-12 o Jan-Dec. L'opzione del mese determina il mese dell'anno che il comando Crrontab esegue.
  • giorni feriali: Il suo valore si trova tra l'intervallo 0-6 o il sole. Le opzioni nei giorni feriali definiscono il giorno della settimana che il comando crontab esegue.
  • comando: L'opzione di comando stabilisce la sequenza dei comandi che verranno eseguiti.

Dai un'occhiata alla seguente sintassi del comando CRTAB:

***** /pathtoscript
  • Specificare l'intervallo: Usa un trattino “-” per la definizione di un intervallo particolare: 30-50, 40-100 o alle martedì, luglio-DEC.
  • A fini di abbinamento, Utilizza asterischi (*).
  • Definire più gamme: Gli utenti possono definire vari campi che un comando può separare, come Dec-May o Feb-Sept.

Caratteri speciali in espressione:

  • "?"Viene utilizzato per rappresentare" qualsiasi "nei seguenti campi: <Giorno della settimana> e per indicare qualsiasi valore arbitrario e ignora il valore del campo. Ad esempio, possiamo inserire un "?" nel parametro per eseguire uno script su "7 ° di ogni mese", Indipendentemente dal giorno della settimana quel giorno.
  • "*"Viene utilizzato per indicare tutto o che l'evento dovrebbe verificarsi per un'unità di tempo. Ad esempio, sul campo, "*"Significa per ogni minuto.
  • "-"Rappresenta la" gamma ". Ad esempio, quando usiamo il "-"Tra le ore 9-12, significa" 9 °, 10a, 11 ° e 12 ° ora ".
  • I valori incrementali sono specificati utilizzando il simbolo incrementale "/". Ad esempio, nel campo minuto, un "10/10" implica "10, 20, 30, 40 e 50 minuti di ora".
  • "," O "Virgola"Fornisce una gamma di valori. Ad esempio, "Martedì, thur, sabato"Significa"Martedì, giovedì, sabato".
  • Quando impiegati in diversi campi, la lettera "L"(Ultimo) ha vari significati. Secondo il mese del calendario, se viene utilizzato sul campo come "31 marzo", implica l'ultimo giorno di marzo. Usando un valore di offset con esso, come "L-2“, Significa il secondo all'ultimo giorno del mese.
  • Il giorno della settimana più vicino (dal lunedì al venerdì) a un determinato giorno del mese è determinato da "W"(Giorni feriali). Se mettiamo "4w" sul campo, significa "giorni feriali vicino al 4 ° di quel mese".
  • "#"Indica il"N-th"Evento nei giorni feriali in un mese; ad esempio, "Secondo venerdì del febbraio" sarebbe "2#2".

Cron Special Strings

Il daemon Cron ha alcune scorciatoie che semplificano le definizioni del lavoro.

Queste parole hanno un significato preciso e puoi utilizzarle nella sintassi anziché nella specifica della data a 5 colonne. Di seguito sono riportati alcune scorciatoie di Cron:

@ogni ora: È lo stesso di "0 * * * *"E esegue il comando all'inizio di ogni ora.

@quotidiano: È lo stesso di "0 0 * * *"E esegue il comando una volta al giorno, a 12 a.M. (mezzanotte).

@settimanalmente: È lo stesso di "0 0 * * 0"E gestisce il comando ogni settimana domenica a mezzanotte.

@mensile: È lo stesso di "0 0 1 * *"Ed esegue il comando a 12 a.M. (mezzanotte) Il primo giorno di ogni mese.

@annuale: È lo stesso di "0 0 1 1 *"E gestisce il comando una volta all'anno il 1 gennaio a mezzanotte.

@riavviare: Ogni volta che il sistema viene riavviato, questo comando verrà eseguito.

Variabile d'ambiente:

Quando Cron gestisce un lavoro, un ambiente che imposta una linea nel crontab può impostare variabili di ambiente.

Nel Crrontab, è possibile aggiungere un'impostazione dell'ambiente come:

nome = valore

Gli spazi sono opzionali in giro "valore". Inoltre, chiuso è la corda tra le citazioni per il mantenimento degli spazi straordinari o di guida.

Cron imposta alcune variabili di ambiente per te automaticamente:

  • IL CONCHIGLIA La variabile è impostata su "/bin/sh".
  • La directory del proprietario di Crrontab "/etc/passwd"La linea viene utilizzata per impostare Home e logname. Shell e Home può essere modificato in fase di esecuzione utilizzando le impostazioni di crontab, ma non possiamo fare lo stesso con Logname.
  • A volte la variabile Logname è conosciuto come "UTENTE"Sui sistemi BSD. Dobbiamo anche impostare il “UTENTE"Configurazione.

Variabili Crrontab:

Alcune delle variabili Cron più regolarmente utilizzate sono elencate di seguito:

  • SENTIERO: È un elenco di directory che verranno cercate da Cron.
  • Mailto: Specificare chi riceve l'output di ciascun comando tramite e -mail.
  • CASA: Home Directory dell'utente loggato.
  • Logname: Il nome dell'utente corrente.
  • Lang: Le attuali configurazioni locali
  • Editore: Editor predefinito per i file.
  • Mail: La posizione di archiviazione della posta dell'utente corrente.
  • TERMINE: L'attuale emulazione di un terminale.
  • UTENTE: L'utente attuale che attualmente ha effettuato l'accesso.
  • CONCHIGLIA: Il percorso della shell dell'utente attuale, come Bash.

Opzioni di comando Crrontab:

  • -u [utente]: Questa opzione ti aiuterà a definire l'utente.
  • -n [host]: Imposta qualsiasi host nel cluster per l'esecuzione di crontabs degli utenti utilizzando l'opzione "-n".
  • -X [Maschera]: Utilizza l'opzione "-x" per abilitare il debug.
  • -E: Questa opzione è utilizzata per la modifica del crontab dell'utente.
  • -R: Per eliminare il crontab di un utente, utilizzare l'opzione "-r".
  • -L: Per elencare il crontab dell'utente, scrivi il "-l" nel comando crontab.
  • -C: Per ottenere l'host nel cluster per eseguire i crontab degli utenti e utilizzare l'opzione "-c"
  • -io: Per richiedere prima di eliminare, l'opzione "-I" viene utilizzata.
  • -S: Dai un'occhiata al contesto Selinux utilizzando l'opzione "-s".

Installazione di Cron su CentOS:

Per impostazione predefinita, Cron è incluso in CentOS 8. Per qualche motivo, se non lo hai già, installalo sul tuo sistema:

$ sudo dnf installa cron
$ sudo systemctl abilita -ora Crond.servizio
$ sudo systemctl status crond

Scheduler Crrontab: a livello di sistema

Regolarmente, la maggior parte dei servizi utilizza Crrontab. I servizi utilizzano le loro impostazioni di Crrontab Scheduler direttamente al "/etc/cron.D"Directory. Successivamente, lo scheduler eseguirà automaticamente i file presenti in questa directory. Di seguito sono riportate le cartelle preconfigurate di Crrontab: “/Etc/cron.ogni ora ","/etc/cron.ogni giorno ","/etc/cron.settimanalmente "e"/etc/cron.mensile". Gli amministratori di Linux hanno il pieno controllo su queste directory. Allo stesso tempo, lo scheduler attraversa ed esegue regolarmente questi file di crontab. Inoltre, se gli utenti di root vogliono eseguire qualcosa, ad esempio, vuole eseguire uno script particolare ogni giorno, posizionerà il file all'interno del "/etc/cron.quotidiano"Directory.

Accesso Cron:

È possibile assegnare il controllo sull'esecuzione di qualsiasi file utilizzando Cron. Valuta questa funzionalità utilizzando i seguenti file:

/etc/cron.permettere: Permettere

/etc/cron.negare: Negare

Cose da tenere a mente:

  • Solo l'utente root può utilizzare Cron se mancano entrambi i file dei file sopra menzionati.
  • Usando Cron, aggiungi il nome prima del file, se si desidera negare o consentire un nome di file particolare.
  • Aggiungi la linea tutto prima del cron.Nega il file se non si desidera che nessun altro utente utilizzi Cron.
  • Se nulla è scritto nel cron.Deny File, tutti gli utenti possono lavorare con Cron.
  • Se un nome utente appare in entrambi i file: Cron.Consenti, Cron.Nega, quindi che l'utente può ancora usare Cron.
  • Supponiamo che un utente sia menzionato in Cron.Nega, ma non esiste cron.consentire file in merito; quindi tutti gli utenti possono utilizzare Cron ad eccezione di quello specificato.

Gestione Crrontab:

Come abbiamo discusso in precedenza Crrontab, è un file particolare contenente il programma di lavori eseguiti da Cron. D'altra parte, questi lavori non sono pensati per essere modificati direttamente. Il comando Crrontab è consigliato a questo scopo. Il comando Crrontab ti consente di modificare Crrontab relativo al profilo utente senza la necessità di modificare i tuoi privilegi. Questo comando ti avviserà anche degli errori presenti nel crontab, che non sarebbero possibili se modificati direttamente. Utilizza il seguente comando per la modifica del tuo crontab:

$ crontab -e

Sui sistemi Linux, "/ etc/ directory"Contiene un altro file Crrontab. Nella posizione menzionata, esiste un CRONTAB a livello di sistema che include un campo che specifica quali privilegi di un profilo utente per l'esecuzione di Cronjobs. Utilizzare il seguente comando per la modifica del crontab a livello di sistema:

$ sudo nano /etc /crontab

L'altro metodo più semplice per accedere e modificare il file Crrontab sta utilizzando il "nano"Editore. Fare "nano"Il tuo editor predefinito seguendo questi passaggi:

$ nano ~/.Bash_profile

Aggiungi la riga seguente all'inizio del file aperto:

Export Visual = "Nano"

Salva la riga aggiunta in " ~/.Bash_profile"E uscita. Successivamente, ricarica il “~/.Bash_profile" file.

$ . ~/.Bash_profile

Ora, scrivi questo comando per aggiungere cronjobs:

$ crontab -e

Questo è il file crontab, dove salveremo tutti i nostri cronjob:

Per visualizzare il contenuto del file Crrontab, utilizzare il seguente comando:

$ crontab -l

Nota: Attualmente, non abbiamo aggiunto alcun Cronjob nel file Crrontab per stampare qualcosa.

Per rimuovere i cronjob pianificati nel file Crrontab, scrivi questo comando:

$ crontab -r

14 Esempi di Cronjob:

Esempio 1: esecuzione di Cronjob dopo ogni 50 minuti

Il seguente comando Crrontab eseguirà il "aggiornato b"Dopo ogni 50 minuti:

50 * * * * aggiornato b

Esempio 2: esecuzione di Cronjob in tempi e mesi specifici

Esempio di crontab da eseguire /USR/Local/Bin/TestScript.sh alle 8:00 p.M. il 20 gennaio, febbraio, marzo e aprile:

00 08 20 1,2,3,4 */USR/Local/Bin/TestScript.sh

Esempio 3: esecuzione di Cronjob ogni venerdì 1 p.M.

Il comando di seguito consentirà al sistema di eseguire il "TestScript.sh"Ogni venerdì, 1 p.M.:

0 01 * * Ven /Scripts /TestScript.sh

Esempio 4: esecuzione di Cronjob ad ogni minuto

Per eseguire uno script particolare dopo ogni minuto, controlla la sintassi di questo comando:

* * * * * /Scripts /TestScript.sh

Esempio 5: esecuzione di Cronjob nei giorni specifici

Di seguito è riportato un esempio che ti aiuterà se si desidera programmare un Cronjob da eseguire in determinati giorni. Questo esempio eseguirà il "TestScript.sh"Lunedì e mercoledì alle 2 P.M.:

0 02 * * mon, mercoledì /script /testscript.sh

Esempio 6: Cronjob Execution il primo lunedì di ogni mese

Il parametro del tempo non è sufficiente per impostare in questo esempio. Utilizzeremo una condizione per specificare che lo script particolare dovrebbe essere eseguito il primo lunedì di ogni mese:

0 2 * * mon [$ (data +%d) -le 07] && /script /testscript.sh

Esempio 7: esecuzione di Cronjob ogni 10 secondi

Ancora una volta, specificheremo una condizione per eseguire il Cronjob ogni 10 secondi:

* * * * * /Scripts /Script.sh
* * * * * Sleep 10; /Scripts/Script.sh

Esempio 8: esecuzione di Cronjob per più attività

Usa (;) per configurare Cron per eseguire più comandi nel modo seguente:

* * * * * /Scripts /TestScript1.sh; /Scripts/TestScript2.sh

Esempio 9: Cronjob Execution all'inizio di ogni anno usando "@Yearly"

L'esecuzione di un'attività al primo minuto di un nuovo anno è utile nel caso in cui è necessario inviare i desideri per il nuovo anno a qualcuno."0 0 1 1 *"È simile al timestamp"@annuale“:

@ -presepe /script /testscript.sh

Esempio 10: Cronjob Execution all'inizio di ogni mese usando "@monthly"

Puoi usare il "@mensile"Timestamp per eseguire le attività mensili come la fatturazione ai clienti e il pagamento delle fatture:

@Monthly /Scripts /TestScript.sh

Esempio 11: Cronjob Execution all'inizio di ogni settimana usando "@Weekly"

Eseguire qualsiasi attività all'inizio della settimana, come la pulizia del sistema utilizzando "@settimanalmente"Timestamp. "settimanalmente" è equivalente a "0 0 * * mon":

@Weekly /Bin /TestScript.sh

Esempio 12: Cronjob Execution all'inizio di ogni mese usando "@daily"

"@quotidiano"Il timestamp è equivalente a"0 0 * * *". Viene utilizzato per eseguire quotidianamente il compito basato su attività:

@daily /scripts /script.sh

Esempio 13: Cronjob Execution all'inizio di ogni ora usando "@hourly"

"@ogni ora"Il timestamp è equivalente a"0 * * * *". È possibile utilizzare questo timestamp per eseguire le attività orarie:

@Hourly /Scripts /TestScript.sh

Esempio 14: Esecuzione di Cronjob per riavvio del sistema

"@riavviare"È utile per le azioni che si desidera eseguire ogni volta che il sistema si avvia. È utile per l'avvio automatico delle attività in background. Questo tipo di Cronjob viene utilizzato per programmare gli script di avvio.

@Reboot /Scripts /TestScript.sh

Creazione di Cronjob per utente specifico

Per la pianificazione di un Cronjob per un determinato utente, specificare il suo nome nel modo seguente:

***** Nome utente /path_to_script

Ora, diamo un'occhiata a un rapido esempio:

50 * * * * Linuxhint aggiornato b

Questo comando eseguirà il "aggiornato b"Dopo ogni 50 minuti per il"Linuxhint" utente.

Elencare i cronjobs:

Usa questo comando per elencare i cronjob pianificati sul sistema:

$ crontab -l

Creazione di cronjobs Backup:

Per creare un backup dei cronjob programmati, utilizzare questo comando:

$ crontab -l> cron -backup.TXT

Verifica il contenuto di "cron-backup.TXT"Per assicurarsi che i Cronjobs siano di backup o no:

$ Cat Cron-Backup.TXT

Rimuovi i cronjob:

Metodo 1: senza prompt

IL "Crrontab -r"Il comando viene utilizzato per rimuovere i cronjob:

$ Crontab -r

Metodo 2: con prompt

L'esecuzione del seguente comando mostrerà un prompt prima di eliminare il crontab:

$ crontab -i -r

Gestione della produzione di Cronjob:

Come abbiamo detto nell'introduzione di Cronjob, questi lavori operano in background. Questo è il motivo per cui non è sempre evidente se hanno completato l'attività o meno. A questo punto, hai una certa comprensione relativa alla programmazione Cronjob e al suo utilizzo. Ora, puoi sperimentare vari modi di reindirizzamento dei Cronjobs. Questo reindirizzamento ti aiuterà a monitorare la funzionalità dei cronjobs.

Ad esempio, è possibile inviare l'output di Cronjobs all'indirizzo e -mail associato al profilo utente Linux se si dispone di un agente di trasferimento di posta installato e configurato sul server, come "Inviare una mail". In confronto, a "Mailto"L'impostazione nella parte superiore del crontab può anche essere utilizzata per la fornitura manuale degli indirizzi e -mail. Aggiungi le seguenti righe al tuo file Crrontab, in cui abbiamo un "Mailto"Dichiarazione seguita dal mio indirizzo e -mail, una direttiva domestica che si riferisce alla directory in cui dovrebbe essere trovato il binario cron, un singolo compito cron e un CONCHIGLIA Direttiva che indica la shell da eseguire che è bash nel nostro caso.

Mailto = "[email protected] "
Shell =/bin/bash
Home =/
50 * * * * Linuxhint aggiornato b
* * * * * echo 'Esegui questo comando ogni 50 minuti'

Questa attività restituirà il messaggio "Esegui questo comando ogni 50 minuti". L'output verrà inviato via email all'indirizzo e -mail specificato presente nel "Mailto"Direttiva. Per evitare di ricevere un'e -mail con il risultato, è possibile reindirizzare l'output dell'attività CRON in una posizione vuota o un file di registro.

Per l'invio dell'output di un comando pianificato a un file di registro: Append >> Alla fine del comando, con il nome e il percorso della directory contenente il file di registro, come mostrato di seguito:

* * * * * echo 'Esegui questo comando ogni 50 minuti' >>/directory/percorso/file.tronco d'albero

Abbiamo creato un file di registro di esempio per questo scopo, quindi scriveremo questo comando come segue:

* * * * * echo 'Esegui questo comando ogni 50 minuti' >> /testfile /campione.tronco d'albero

Cronjob Limits:

Server dedicato e VPS: In questo caso, non esiste alcuna restrizione in tempo per l'esecuzione di Cronjob.

Condiviso e rivenditore: Un cronjob potrebbe non essere eseguito più di una volta ogni 15 minuti.

Gestione degli errori di Cronjob:

Metodo 1: usando /dev /null

Invece di ricevere un avviso e -mail, puoi facilmente inviare i nostri errori Cronjob e registrare a Dev/Null. Tutto ciò che inviamo o scriviamo a Dev/Null è scartato.

* * * * * CD /Home /Linuxhint && /bin /Bash Shell-TestScript.sh> /dev /null 2> & 1
  • IL "> /dev /null"Parte del comando indica a Cron di reindirizzare l'output standard (stDout) a /dev /null.
  • Il descrittore di file "2"È per errore standard (STderr), mentre il descrittore di file di standard è" 1 ".

Metodo 2: invio di output a un determinato file

È un metodo popolare e la maggior parte degli utenti preferisce questo metodo. In questo metodo, devi creare un file per salvare i registri Cronjob. Se il lavoro viene completato correttamente, stamperà l'output; Altrimenti, stamperà un errore.

Abbiamo creato un file di registro di esempio per questo scopo, quindi scriveremo questo comando come segue:

* * * * * CD /Home /Linuxhint && /bin /Bash Shell-TestScript.Sh >> campione.tronco d'albero

Qui:

  • IL "* * * *"Indica che un compito verrà svolto ogni 50 minuti di ogni ora, giorno, settimana e mese.
  • Il percorso di Bash Shell ed eseguibile è "/Bin/Bash".
  • La directory verrà modificata in "/Home/Linuxhint", Che contiene i test shell.Script SH.
  • IL ">>"Il simbolo aggiunge l'output a un file precedentemente creato,"campione.tronco d'albero“, Mentre un singolo simbolo sovrascrive il file.

Generatori di sintassi per crontab:

Dalla dimostrazione dell'esempio, puoi determinare quanto sia facile programmare un Cronjob. A volte, non puoi memorizzare una particolare sintassi Cronjob. Per rendere il lavoro ancora più gestibile, pochi generatori di sintassi basati sul Web per Cron sono lì per te. Ora parleremo di alcuni siti Web che generano espressioni di Crrontab. Queste espressioni si basano sui tuoi input. Basta copiare/incollare la riga nel file Crrontab del sistema dopo aver generato l'espressione di Crrontab in base alle tue esigenze.

Generatore di Crrontab:

Il generatore di Crrontab è uno strumento basato sul web che consente di creare espressioni Crrontab più velocemente e senza sforzo. Questo sito Web comprende un modulo con diverse voci.

L'utente deve compilare tutti i campi essenziali nei moduli. Nei campi, è possibile selezionare il valore per il comando di sintassi secondo il requisito:

Quindi questo strumento di generatore Crrontab emetterà un comando nella seguente sezione evidenziata. Copia il comando generato, incollalo nel tuo file crontab e hai finito!

Guru Crrontab:

Questo sito Web è personalizzato per fornire esempi di esempio di cronjobs. Devi solo inserire le tue informazioni sul sito Web e genererà la sintassi di Crrontab in pochi minuti.

Cronmaker:

È un altro sito Web che si basa anche allo scopo di generare sintassi del comando Cronjob:

Front-end grafica per Crrontab:

Alcune utility front-end Crrontab sono disponibili per la creazione di attività Cron utilizzando un'interfaccia utente grafica. Per la gestione o l'aggiunta delle attività di Cron, non è necessario aggiornare il file Crrontab dalla riga di comando. Questi strumenti renderanno la gestione dei cronjobs un gioco da ragazzi!

Zeit:

Zeit è un'applicazione freeware creata nel linguaggio del computer C ++. Ai sensi della licenza GPLV3, il codice sorgente di questa applicazione è accessibile su GitHub. È basato su QT "Crrontab" E "A"Command Front-end. Possiamo utilizzare Zeit per le seguenti attività:

  • Per aggiungere, modificare e rimuovere i lavori Crrontab.
  • Per eliminare, modificare o aggiungere variabili di ambiente di Crrontab.
  • Per impostare allarmi e timer.

Crrontab UI:

L'interfaccia utente di Crrontab è una soluzione basata sul web per la gestione dei cronjobs in Linux con facilità e sicurezza. Non è necessario modificare manualmente il file crontab per creare, eliminare e gestire le attività Cron. Con alcuni clic del mouse, puoi fare tutto in questo browser Web. L'interfaccia utente di Crrontab rende semplice creare, modificare, fermare, rimuovere e eseguire il backup delle attività di Cron. Fa inoltre la sua parte in importazione, esportazione e distribuzione di cronjob su altre macchine.

Conclusione:

Cron è uno strumento versatile e potente che può aiutarti con una varietà di attività di amministrazione del sistema. È possibile automatizzare operazioni normalmente complicate con gli script di shell. Questo articolo comprende una guida completa di Crrontab per i principianti, che ha discusso di tutto, tra cui il lavoro di Crrontab, il suo utilizzo, la sua installazione su CentOS, esempi pratici di Cronjobs campione e generatori di sintassi di Crrontab.