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/ScriptUtilizzare il comando qui sotto per aprire il file crontab:
$ crontab -eQui, 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 -uCon 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.shQuanto 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 domaniUsando 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.shIl 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.