crontab

Esegui un cron job ogni minuto

Esegui un cron job ogni minuto
Se vuoi eseguire un programma o uno script in background su Linux, cron job è molto importante. Con l'aiuto dei lavori cron, puoi eseguire un programma o uno script in background dopo un determinato intervallo di tempo.

Diamo un'occhiata ad alcuni degli esempi di vita reale di cron job.

Ci sono molti altri usi dei lavori cron in Linux.

In questo articolo, ti mostrerò come eseguire lavori cron ogni minuto su Linux. Userò Debian 9 Stretch per la dimostrazione. Ma puoi usare qualsiasi distribuzione Linux moderna di tua scelta. Iniziamo.

Nozioni di base di Crontab:

Su Linux, non devi esserlo radice per eseguire lavori cron. Puoi eseguire lavori cron come qualsiasi utente. Ogni utente su Linux può usare a crontab file per eseguire il proprio set di lavori cron.

Per impostazione predefinita, un utente non ha un crontab file su Linux. Puoi creare un crontab file con il seguente comando:

$ crontab -e

Se stai eseguendo questo comando per la prima volta, ti dovrebbe essere chiesto di scegliere un editor di testo dall'elenco. io sceglierò nano, quello predefinito. Puoi scegliere quello che ti piace. Quando hai finito, premi .

Il crontab il file dovrebbe essere creato (se non è già disponibile) e aperto con il tuo editor di testo preferito.  Ora puoi aggiungere i tuoi lavori cron alla fine di questo file e una volta che sei soddisfatto, salvalo ed esci dall'editor di testo.

Sintassi dell'esecuzione di un comando ogni minuto:

La sintassi di crontab il file è il seguente:

minuto ora giorno del mese mese giorno della settimana comandoPerEseguire

Qui,

per eseguire un comandoEsegui comando ogni minuto, dovresti scriverlo nel crontab file come segue:

* * * * * commandToRun

Esecuzione di un Crob Job ogni minuto:

Ora che conosciamo le teorie, aggiungiamo un semplice script Timer.sh al crontab file e guarda come gestirlo.

Nel Timer.sh script, ho solo le seguenti righe di codici. Tutto ciò che fa è creare un nuovo file /home/shovon/bin/timer.log (se non esiste già) e aggiunge l'output del comando date ad esso.

Ora aggiungiamo lo script al nostro crontab e lascialo funzionare ogni minuto con la seguente riga:

* * * * * /home/shovon/bin/timer.sh

Una volta salvato il crontab file ed esci dall'editor di testo, il nuovo crontab il file dovrebbe essere installato.

Dopo che è trascorso un minuto, viene visualizzato un nuovo file Timer.log viene creato nella directory desiderata come puoi vedere nella sezione contrassegnata dello screenshot qui sotto.

Dal Timer.log log, è ovvio che lo script Timer.sh corre ogni minuto.

Catturare gli errori dai Cron Jobs:

Per rilevare errori da un cron job, puoi inviare gli errori a a errore.log file e output normali a accesso.log file per esempio. Ovviamente puoi nominare i file come vuoi.

Per dimostrarlo, ho modificato il mio script Timer.sh un po. Ora gli errori vengono inviati a errore.log file nel /home/shovon/bin directory e gli output vengono inviati a accesso.log nel /home/shovon/bin directory.

In un primo momento il /tmp/i_devo_essere_qui il file non esiste, quindi ottengo l'errore nel errore.log file come puoi vedere.

Il accesso.log il file è vuoto al momento.

Ora creerò il file /tmp/i_devo_essere_qui

E come puoi vedere, l'output è in accesso.log file ora.

Se lo desideri, puoi reindirizzare l'output e gli errori nello stesso file come segue:

Come puoi vedere, le uscite STDIN e STDERR vengono inviate al su.log file.

Assicurarsi che l'ultimo lavoro sia terminato prima di eseguire nuovamente il lavoro:

Perché funzioni, puoi creare un file temporaneo subito dopo l'inizio del lavoro e rimuoverlo appena prima che finisca. Quindi puoi controllare se il file temporaneo esiste prima di iniziare il lavoro. Se lo fa, puoi uscire dal lavoro ed eseguire il lavoro solo quando il file temporaneo non è disponibile.

Questo semplice script fa proprio questo.

Come puoi vedere, il Timer.pid il file è stato creato.

leggendo il accesso.log il file dimostra che il cron job non viene eseguito prima che il cron job precedente termini l'esecuzione. Come puoi vedere, è stato eseguito alle 01:32:01 e la volta successiva avrebbe dovuto essere eseguito alle 01:33:01, ma non è stato così. Invece, è stato eseguito alle 01:35:01, circa 3 minuti dopo.

Organizzazione degli output dei lavori Cron per un facile debug:

Puoi formattare bene gli output per rendere più facile il debug del tuo cron job.

Un esempio di come può essere fatto è dato nel seguente script.

Come puoi vedere, gli output, gli errori e i messaggi di successo sono ben stampati nel file di registro.

Puoi fare cose incredibili con lavori cron e script di shell. Ho dimostrato alcune delle idee qui. Ma il cielo è il tuo limite. Sentiti libero di sperimentare con qualsiasi idea tu abbia. Grazie per aver letto questo articolo.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...