Come programmare un lavoro cron da eseguire l'ultimo giorno di ogni mese

Come programmare un lavoro cron da eseguire l'ultimo giorno di ogni mese
L'utilità Cron è uno strumento utile per l'automazione delle attività da eseguire per una data e ora specifiche. Ad esempio, puoi automatizzare un lavoro da svolgere ogni giorno del mese in un determinato momento. Automatizzare le attività è qualcosa che non puoi rinunciare, soprattutto come amministratore. Potrebbe essere un backup che devi creare per eseguire vari script. Per evitare di dimenticare di eseguire script, l'opzione migliore è modificare il file crontab e programmare i lavori CRON, che verranno eseguiti senza il tuo intervento.

Questa guida presenta come è possibile creare un lavoro cron, in particolare uno che esegue l'ultimo giorno di ogni mese.

Lavorare con Cron Jobs

È necessario creare un file crontab per l'utente dato per creare un lavoro cron in Linux, Unix o macOS. IL Crrontab Il file contiene tabelle con cinque campi in cui è possibile specificare la data e l'ora del lavoro cron e il percorso completo dello script o del comando da eseguire.

La sintassi di un file crontab è come mostrato:

Hour Minute Date_OF_Month Month Day_of_Week Command/Script

Utilizzare il comando qui sotto per aprire il file crontab:

$ crontab -e

Qui, abbiamo aperto un file Crrontab per l'utente corrente. Se è necessario programmare il lavoro per un determinato utente, utilizzare la sintassi di seguito.

$ crontab -e -u

Con il tuo file Crrontab aperto, puoi aggiungere il tuo lavoro Cron in fondo.

Ad esempio, se dobbiamo creare un lavoro cron che esegue ogni Il primo giorno di ogni mese, il lavoro cron sarebbe come mostrato:

$ 10 10 1 * */path/to/script.sh

Quanto sopra crea un lavoro cron che esegue ogni 10:10 Ogni mese il primo giorno.

Pianifica il lavoro cron l'ultimo giorno di ogni mese

Determinare l'ultimo giorno del mese può essere impegnativo come alcuni mesi 28, 29, 30, O 31 Come ultima data. Inoltre, il campo per il Day_of_month prende una giornata specifica e dandogli un elenco di possibili giorni eseguirebbe in una giornata errata.

Il trucco è specificare un comando che controlla se il giorno successivo è il primo giorno del mese. In tal caso, significa che il giorno corrente è l'ultimo di quel mese e il lavoro cron può quindi eseguire.

Il comando seguente controlla e restituisce la data di domani:

$ data +%d -d domani

Usando lo stesso concetto, possiamo creare una condizione che se la data di domani restituisce 01-Significa che è il primo giorno, allora il lavoro cron da eseguire.

Ad esempio, possiamo specificare il comando per eco a un determinato output e verificare che verrà eseguito quando aggiunto al file Crrontab. Modifichiamo il comando sopra come mostrato di seguito:

$ ["$ (Data +\%d -d domani)" = "01"] && echo "Tommorow è il 1 °"

Ora, invece del comando che visualizza l'output per confermare che domani è il primo giorno del mese, possiamo impostarlo per eseguire il nostro lavoro Cron.

Il nuovo comando sarebbe:

$ 30 13 28-31 * * [“$ (data +\%d -d domani)” = “01”] &&/home/kyle/linuxhint.sh

Il lavoro Cron sopra gestirebbe ogni 13:30 di ogni ultimo giorno del mese. Se l'ultimo giorno è 28,29, 30 o 31, eseguirà lo script specificato.

Si noti che stiamo elencando le possibili date di ogni ultimo giorno del mese e procedendo per dare il comando che controlla che se il giorno successivo è il primo giorno del mese successivo, allora il giorno corrente è l'ultimo del mese. Una volta confermato, quindi esegue lo script.

Conclusione

Questa guida ha offerto una guida pratica su come programmare una se sei rimasto bloccato nella pianificazione di un lavoro cron che funziona ogni giorno di ogni mese. Abbiamo visto come determinare l'ultimo giorno di qualsiasi mese e programmare un lavoro cron.