In questo tutorial, ti forniremo l'introduzione di base di tutto ciò che devi capire per pianificare un lavoro con Cron. Ciò include la sintassi di base di Cron, la modifica del file Crrontab, la pianificazione di un lavoro con Cron con pochi esempi, visualizza il lavoro Cron, ecc.
Nozioni di base sul lavoro Cron
Comprendiamo alcune basi di un lavoro cron.
Cos'è Crond?
Crond è il demone nel sistema Linux che funziona in background e controlla ogni minuto per vedere se c'è un lavoro in programma in quel momento. Se c'è, svolge quel lavoro, altrimenti rimane inattivo.
Sintassi del lavoro Cron
La sintassi per il lavoro Cron è la seguente:
* * * * * comando/script
Da sinistra:
Per specificare più valori in un campo, utilizzare i seguenti simboli dell'operatore:
Modifica del file Crrontab
Crrontab è un file che contiene i lavori programmati in una sintassi specifica. Esistono due tipi di file Crrontab; Uno per lavori cron specifici del sistema e l'altro per i lavori cron specifici dell'utente.
System Cron Jobs
I lavori cron a livello di sistema si trovano in /etc/crontab file e /etc/cron.D directory, e vengono eseguiti /etc/cron.ogni ora, /etc/cron.quotidiano, /etc/cron.settimanalmente E /etc/cron.mensile. Solo un amministratore di sistema può accedere a questi file.
Un amministratore di sistema può definire un lavoro cron utilizzando il seguente comando:
$ nano /etc /crontab
Ecco la sintassi del lavoro in /etc/crontab file:
# MIN HR DayOfmonth Month DayofWeek Nome utente Comando
* * * * * utente1 ifconfig
Lavori cron specifici dell'utente
I lavori cron specifici dell'utente si trovano nel /var/spool/cron/crontabs directory. Sebbene sia possibile modificare questi lavori manualmente, si consiglia di modificare questi lavori utilizzando il comando crontab -e.
Un utente standard può definire un lavoro cron utilizzando il seguente comando:
$ crontab -e
Ad esempio, se hai effettuato l'accesso come utente "test", l'esecuzione del comando crontb -e modificherà il file crontab per l'utente "test". Allo stesso modo, se hai effettuato l'accesso come utente di root, il comando CRTATB -E modificherà il file CRTATB per l'utente root.
Emettere il comando di seguito in terminale per modificare il file CRTABS per qualsiasi altro utente:
$ sudo crontab -u-e
Ad esempio, se hai effettuato l'accesso come utente "Test1" e si desidera modificare il file Crrontab per l'utente "Test2", il comando sarebbe:
$ sudo crontab -u test2 -e
Ecco la sintassi del lavoro Cron che può essere aggiunto nel file Crrontab:
# m h dayofmonth mese comando dayofweek
* * * * * ifconfig
Puoi vedere in lavori specifici dell'utente che non esiste un "nome utente" archiviato.
Comandi di Crrontab
Il comando crontab viene utilizzato per modificare, elencare e rimuovere i lavori Cron:
Pianificare un lavoro con Cron
Con Cron, puoi svolgere un lavoro in un orario specifico, una data e intervalli con un'unità minima in pochi minuti, i.e., Puoi svolgere un lavoro ogni minuto.
Per programmare un lavoro con Cron, aprire il file Crrontab utilizzando il metodo discusso nella sezione precedente. Una volta aperto il file Crrontab, ti verrà richiesto di selezionare un editor di testo. Digita un numero per scegliere il tuo editor di testo preferito. Scorri verso il basso fino in fondo al file e aggiungi i lavori nella sintassi sopra descritta. Ogni riga in un file specifica un comando. Le prime cinque voci nella riga specificano l'ora pianificata e l'ultima voce specifica quale comando o script dovrebbe essere eseguito.
Esempio:
La seguente riga nel file Crrontab pianificherà il lavoro Cron per eseguire il comando/script ogni 30 ° minuto ecologico ogni giorno di settimana da lunedì al sabato.
*/30 5 * * 1-6 Comando/Script
Minuti
In questo campo, specifichiamo i minuti in cui vogliamo che il comando venga eseguito. È specificato da 0 a 59. Il * in questo campo significa eseguire il lavoro ogni minuto. Nella riga di Crrontab sopra, il */30 dice al lavoro di Cron di eseguire il comando/script specificato ogni 30 minuti.
Ore
In questo campo, specifichiamo le ore in cui vogliamo che il comando venga eseguito. È specificato da 0 a 23. Il * in questo campo significa eseguire il lavoro ogni ora. Nella riga di Crrontab sopra, il valore 5 indica al lavoro di Cron di eseguire il comando/script specificato ogni cinque ore.
Giorno del mese
In questo campo, specifichiamo i giorni particolari dei mesi in cui vogliamo che il comando venga eseguito. È specificato da 1 a 31. Il * in questo campo significa ogni giorno. Nella riga di Crrontab sopra, il * dice al lavoro di Cron di eseguire il comando/script specificato ogni giorno.
Mese dell'anno
In questo campo, specifichiamo i mesi particolari quando vogliamo che il comando venga eseguito. È specificato da 1 a 12. Il * in questo campo significa ogni mese. Nella riga di Crrontab sopra, il * dice al lavoro Cron di eseguire il comando/script specificato ogni mese.
Giorno della settimana
In questo campo, specifichiamo i giorni particolari della settimana in cui vogliamo che il comando venga eseguito. È specificato da 0 a 6 da domenica a sabato (0 per domenica e 6 per sabato). Il * in questo campo significa ogni giorno in una settimana. Nella riga di Crrontab sopra, il * dice al lavoro di Cron di eseguire il comando/script specificato ogni giorno in una settimana.
Esempi di lavori cron
Ecco alcuni esempi di lavori Cron:
Esegui un lavoro cron ogni 15 minuti
Per programmare un lavoro Cron da eseguire ogni 15 minuti, aggiungi la riga in basso nel file Crrontab:
*/15 * * * * comando/script
Gestisci un lavoro Cron alle 5 del mattino ogni giorno
Per programmare un lavoro Cron in esecuzione alle 5 del mattino ogni giorno, aggiungi la riga in basso nel file Crrontab:
0 5 * * * comando/script
Esegui un lavoro cron alle 17:00 ogni giorno
Per programmare un lavoro Cron da eseguire ogni giorno alle 17:00, aggiungi la riga in basso nel file Crrontab:
0 17 * * * comando/script
Esegui un lavoro cron alle 9 del mattino il primo giorno di ogni mese
Per programmare un lavoro Cron da eseguire alle 9:00 il primo giorno di ogni mese, aggiungi la riga in basso nel file Crrontab:
0 9 1 * * comando/script
Esegui un lavoro cron ogni ora ogni 15 marzo
Per programmare un lavoro cron ogni ora ogni 15 marzo, aggiungi la riga in basso nel file Crrontab:
0 * 15 3 * comando/script
Esegui un lavoro cron ogni 5 ore
Per programmare un lavoro cron ogni 5 ore, aggiungi la riga sotto nel file Crrontab:
0 */5 * * * comando/script
Esegui un lavoro cron ogni 15 minuti
Per programmare un lavoro Cron da eseguire ogni 15 minuti, aggiungi la riga in basso nel file Crrontab:
*/15 * * * *
Usando stringhe
Le seguenti stringhe possono anche essere utilizzate per definire un lavoro:
Ad esempio, per eseguire uno script o un comando ogni settimana, la voce nel file Crrontab sarebbe:
@Weekly Command/Script
Directory cron predefinite
Ci sono alcune directory cron pre-definite in Linux in cui gli script memorizzati vengono eseguiti automaticamente. Se inseriamo uno script sotto queste directory, verrà eseguito automaticamente nel tempo configurato.
Ad esempio, per eseguire uno script una volta al mese, dovrai inserirlo in /etc /cron.mensile.
Visualizza i lavori Cron
Visualizza i lavori per l'utente corrente
Utilizzare il seguente comando per visualizzare tutti i lavori cron programmati per l'utente corrente:
$ crontab -l
Visualizza i lavori per gli utenti root
Per visualizzare tutti i lavori programmati dell'utente root, emettere il seguente comando in terminale:
$ cat /etc /crontab
Dovrai essere login come utente root o eseguire il comando come sudo.
Visualizza i lavori per gli altri utenti
Per visualizzare tutti i lavori programmati di un utente specifico, emettere il seguente comando in Terminal in sostituzione del nome utente effettivo:
$ sudo crontab -u-l
Per eseguire questo comando, avrai bisogno di privilegi sudo.
Visualizza lavori cron orari
Per visualizzare tutti i lavori CRON configurati per eseguire ogni ora, emettere il seguente comando nel terminale:
$ ls -la /etc /cron.ogni ora
Visualizza i lavori quotidiani Cron
Per visualizzare tutti i lavori CRON configurati per eseguire quotidianamente, emettere il seguente comando nel terminale:
$ ls -la /etc /cron.quotidiano/
Visualizza lavori settimanali cron
Per visualizzare tutti i lavori CRON configurati per eseguire settimanalmente, emettere il seguente comando in terminale:
$ ls -la /etc /cron.settimanalmente/
Visualizza lavori mensili cron
Per visualizzare tutti i lavori CRON configurati per eseguire mensilmente, emettere il seguente comando nel terminale:
$ ls -la /etc /cron.mensile/
Backup di tutti i lavori Cron
Si consiglia di mantenere un backup di tutti i lavori cron in un file in modo da poter recuperare in caso di eliminazione. Per effettuare un backup di tutti i lavori attuali, utilizzare l'operatore di reindirizzamento per reindirizzare l'output di Crrontab -L in un file.
$ crontab -l> backup_cron.TXT
Rimozione di tutti i lavori di cron programmati
Per rimuovere tutti i lavori Cron programmati, utilizzare il flag -r come segue:
$ crontab -r
Autorizzazione di cron
Possiamo limitare l'accesso al comando crontab tramite due file: / ecc/cron.consentire e / etc / cron.negare.
Generatori di sintassi di Crrontab
Ci sono alcuni siti Web che consentono la generazione di sintassi per i crontabs. Questi siti Web rendono più facile generare espressione di crontab senza dover ricordare la sintassi. Sebbene ci siano vari siti Web disponibili per generatori di sintassi come Crrontabgenerator.com, crontab-generator.org e cronmaker.com. Quello che preferisco e ho trovato utile è il crontab.guru. Sulla base dell'input dell'utente, genera un'espressione di Crrontab che è possibile copiare incolla nel file Crrontab.
Conclusione
In questo tutorial, abbiamo spiegato le basi di Cron Jobs, la sua sintassi e come configurarlo. Abbiamo anche discusso di come visualizzare i lavori di cron, creare un backup e rimuoverli se non è più necessario.