Impara Linux

Come creare Cron Job su Linux

Come creare Cron Job su Linux

Un lavoro Cron o Cron è uno scheduler basato sul tempo comune nei sistemi Linux/Unix. Pianifica le attività utente specificate da eseguire periodicamente in data, ora o intervalli fissi. La maggior parte di queste attività sono script per eseguire funzioni come backup e altro. Per creare questi lavori cron, usiamo i comandi crontab. Un crontab è un comando/utilità UNIX utilizzato per creare e gestire lavori cron.

Come vedrai di seguito, creare e modificare un cron job è abbastanza semplice. La parte più sorprendente è che non è necessario riavviare cron o anche il PC dopo aver creato o modificato un cron job. Basta salvare il file e sei a posto.

Usi comuni di Cron Jobs

Parti di base di un comando cron

La sintassi standard del crontab è la seguente:

a b c d e USERNAME /percorso/a/output dello script

1.L'ora e la data insieme alla ripetitività del lavoro sono specificate dai cinque campi:

Nota: i giorni iniziano con lunedì. 0 e 7 rappresentano la domenica

2. NOME UTENTE: Ricordati di sostituirlo con il tuo nome utente

3. La posizione e lo script specifici che devono essere eseguiti da cron sono specificati dal terzo segmento:

/percorso/per/script

4. L'ultima sezione definisce la notifica all'utente al completamento del lavoro come un modo per tenere traccia delle attività:

produzione

Tuttavia, la tua casella di posta potrebbe essere piena di attività minori che vengono spesso incanalate. Per evitare ciò, puoi disabilitare l'output automatico dell'e-mail aggiungendo la stringa seguente al tuo comando cron:

>/dev/null 2>&1 e.g a b c d e USERNAME /percorso/di/script>/dev/null 2>&1

Inoltre, cron utilizza altri quattro valori utilizzati per specificare più valori in un campo. Sono:

Configurazione dei lavori cron

I comandi crontab sono responsabili della creazione e della modifica dei lavori cron perché i file cron non devono essere modificati direttamente. Il crontab definisce come puoi creare, modificare, elencare, eseguire il debug, installare e disinstallare le attività cron.

Prima di iniziare con i lavori cron, è essenziale assicurarsi che il proprio desktop o server Linux sia aggiornato eseguendo i comandi seguenti:

sudo apt update sudo apt upgrade

Se non hai il pacchetto cron installato sul tuo sistema, installalo con il comando seguente:

sudo apt-get install cron

Installa cron

Come modificare il file crontab?

Per completare il processo, dovrai configurare il cron job. L'utente che ha effettuato l'accesso quando viene creato un cron job diventa automaticamente il proprietario. Questo può essere cambiato creando un proprietario del lavoro che sarà responsabile della gestione del cron job, come vedremo in questo post.

Per aprire il file di configurazione crontab per l'utente attualmente connesso, eseguire il comando seguente:

crontab -e

Ti verrà chiesto dal sistema di scegliere un editor adatto. Nel nostro caso, sceglieremo la prima opzione (nano editor).

crontab -e

Puoi aggiungere un'attività pianificata per riga in base alle tue preferenze.

file crontab

Dopo aver aggiunto le attività, termina salvando il file ed esci. Tutte le istruzioni fornite verranno lette ed eseguite dal demone cron. Le modifiche verranno applicate anche senza riavviare il sistema poiché il repository viene aggiornato automaticamente.

Modifica crontab per un utente diverso

Crontab può essere modificato per diversi utenti utilizzando un comando nella sintassi seguente:

crontab -u altro_nomeutente -e

Come usare i caratteri speciali nei comandi crontab

Personaggi e operatori dettano una maggiore personalizzazione del tuo sistema poiché estendono le capacità di un'attività cron.

0 6* * 1-5 /root/backup.sh

Qui, 06 sta per 6 am 1-5 sta per il numero di giorni (dal lunedì al venerdì).

35 1-23/2 * * * /percorso/a/script/script.sh

1-23 specifica l'intervallo di ore, /2 imposta l'intervallo ogni due ore.

Opzioni Cron

Potresti voler elencare i lavori cron nel tuo sistema senza sbloccare il file di configurazione crontab. Questo può essere fatto avviando il tuo terminale e digitando il comando seguente:

crontab -l

elenca i lavori cron

Quel comando elenca tutti i lavori cron presenti nel tuo sistema.

Per eliminare tutti i comandi crontab, puoi utilizzare il comando seguente:

crontab -r
crontab -r -u altro-nome utente

Usa le stringhe in Crontab

Le stringhe sono strumenti estremamente utili per gli sviluppatori poiché evitano la scrittura ripetitiva di segmenti di codice code. Fortunatamente, i crontab supportano vari valori di stringhe. Loro includono:

@oraria: -come - "0 * * * *" ( Esegue una volta ogni ora)
@mezzanotte:  -come - "0 0 * * *" ( Esegue una volta ogni giorno)
@quotidiano: come mezzanotte
@settimanalmente:  -come - "0 0 * * 0" (Esegue una volta ogni settimana)
@mensile: -come - "0 0 1 * *" (Esegue una volta ogni mese)
@annualmente: -come - “0 0 1 1 *“ ( Esegue una volta ogni anno)
@annuale: simile a @annually
@riavvio: Eseguito una volta dopo ogni riavvio/riavvio/avvio.

Un buon esempio; se hai uno script di backup che vuoi eseguire ogni giorno, usa il comando seguente:

@giornaliero /percorso/per/script_di_backup.sh

Esempi di lavori cron

Ecco un elenco di lavori cron di base che possono essere utilizzati all'inizio:

    1. Per eseguire uno script ogni minuto:
      * * * * * /il tuo/script/percorso.sh
    2. Per eseguire uno script ogni 40 minuti:
      40 * * * * /tuo/script/percorso.sh
    3. Per eseguire uno script ogni ora:
      0 * * * * /tuo/script/percorso.sh
    4. Per eseguire uno script ogni mezzanotte:
      0 0 * * * /tuo/script/percorso.sh
    5. Per eseguire uno script ogni 23 minuti dopo mezzanotte, 2:00 e 4:00 ogni giorno:
      23 0-23/2 * * * /tuo/script/percorso.sh
    6. Per eseguire uno script a 4.05 ogni domenica.
      5 4 * * sole /tuo/copione/percorso.sh
    7. Per eseguire uno script alle 22:00 durante la settimana.
      0 22 * ​​* 1-5 /tuo/script/percorso.sh
    8. Per eseguire uno script il 1° dicembre - Mezzanotte.
      0 0 0 12 * /il tuo/script/percorso.sh
    9. Per eseguire uno script sabato a mezzanotte.
      0 0 * * 6 /il tuo/script/percorso.sh
    10. Per eseguire uno script ogni ora.
      0 * * * * /tuo/script/percorso.sh

Con questi esempi di base, avrai una comprensione più profonda della sequenza e di come può essere modificata.

Limitazione dell'accesso a Cron

Vediamo che i lavori cron possono tornare molto utili, specialmente quando vuoi automatizzare le tue attività. Tuttavia, può anche essere rischioso se il sistema consente a qualsiasi utente di creare un cron job. Anche se non ha alcun impatto sui dati personali, alcuni lavori cron potrebbero richiedere una discreta quantità di risorse di sistema, ritardando così il PC. Per evitare tali scenari, l'amministratore di sistema (utente root) può creare un /etc/cron.permettere  o /etc/cron.negare il file che contiene solo gli utenti che possono 'crea/non-crea' un lavoro cron.

Il /etc/cron.permettere il file contiene utenti che possono creare, modificare, visualizzare o rimuovere file crontab. Se questo file non esiste, tutti gli utenti possono creare e gestire lavori cron diversi da quelli in in /etc/cron.negare file. Se nessuno di questi file è presente, sono necessari i privilegi di superutente per eseguire il comando crontab.

cron consenti file

Ora che hai impedito agli utenti non root di creare cron job se ne avevano già, potresti considerare di aggiungere i loro cron job nel file crontab root. Ma ecco un enigma: aggiungendo i loro lavori cron al crontab di root, non esegue i loro lavori cron come root? Bene, ecco l'importanza del campo USERNAME di cui abbiamo discusso sopra nella sintassi del comando cron. Ad esempio, il comando seguente:

0 * * * * fosslinux /percorso/di/script.sh

Verrà eseguito come cron job "fosslinux" dell'utente e non come utente root.

Conclusione

Ora hai una guida chiara sull'utilizzo dei lavori Cron per automatizzare varie attività sul tuo sistema. Questo non dovrebbe confonderti con le applicazioni di avvio. Usa gli esempi sopra per provare ad automatizzare semplici script. Con il tempo, puoi combinare caratteri speciali e caratteri jolly per eseguire compiti molto più banali. Se hai appena iniziato, sarebbe bello leggere il nostro post sul tutorial di scripting bash con esempi che ti aiuteranno a creare il tuo primo script.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...