Denne guiden presenterer hvordan du kan lage en Cron -jobb, spesielt en som utfører den siste dagen i hver måned.
Arbeide med Cron Jobs
Du må opprette en crontab -fil for den gitte brukeren for å opprette en Cron -jobb i Linux, Unix eller MacOS. De crontab Filen inneholder tabeller med fem felt der du kan spesifisere datoen og klokkeslettet for Cron -jobben og hele veien til skriptet eller kommandoen for å kjøre.
Syntaksen til en crontab -fil er som vist:
Minutt time date_of_month month day_of_week kommando/skriptBruk kommandoen nedenfor for å åpne crontab -filen:
$ crontab -eHer har vi åpnet en crontab -fil for den nåværende brukeren. Hvis du trenger å planlegge jobben for en bestemt bruker, bruk syntaks nedenfor.
$ crontab -e -uMed crontab -filen din åpnet, kan du legge til Cron -jobben din nederst.
For eksempel, hvis vi trenger å lage en Cron -jobb som utfører hver første dag Av hver måned vil Cron -jobben være som vist:
$ 10 10 1 * */PATH/TO/SCRIPT.shOvennevnte skaper en Cron -jobb som utfører hver 10:10 Hver måned den første dagen.
Planlegg Cron Job den siste dagen i hver måned
Å bestemme den siste dagen i måneden kan være utfordrende som noen måneder har 28, 29, 30, eller 31 Som siste dato. Dessuten feltet for DAG_OF_MONTH Tar en bestemt dag og å gi den en liste over mulige dager vil utføre på en feil dag.
Trikset er å spesifisere en kommando som sjekker om dagen etter er den første dagen i måneden. I så fall betyr det at den nåværende dagen er den siste i den måneden, og at Cron -jobben kan utføre.
Kommandoen nedenfor sjekker og returnerer morgendagens dato:
$ dato +%d -d i morgenVed å bruke det samme konseptet kan vi opprette en betingelse som hvis morgendagens dato kommer tilbake som 01-noe som betyr at det er den første dagen, da Cron-jobben som skal utføres.
For eksempel kan vi spesifisere kommandoen for å gjenspeile en gitt utgang og bekrefte at den vil kjøres når den blir lagt til Crontab -filen. La oss endre kommandoen over som vist nedenfor:
$ [“$ (Date +\%d -d i morgen)” = “01”] && ekko “Tommorow er 1.”I stedet for at kommandoen viser utdata for å bekrefte at morgendagen er den første dagen i måneden, kan vi stille den til å kjøre Cron -jobben vår.
Den nye kommandoen ville være:
$ 30 13 28-31 * * [“$ (dato +\%d -d i morgen)” = “01”] &&/Home/Kyle/Linuxhint.shCron -jobben ovenfor ville løpe hver 13:30 av hver siste dag i måneden. Enten den siste dagen er 28,29, 30 eller 31, vil den utføre det spesifiserte skriptet.
Merk at vi viser mulige datoer for hver siste dag i måneden og fortsetter med å gi kommandoen som sjekker at hvis dagen etter er den første dagen i neste måned, så er den inneværende dag den siste i måneden. Når den er bekreftet, utfører den deretter skriptet.
Konklusjon
Denne guiden tilbød en praktisk guide for hvordan du planlegger en hvis du satt fast på å planlegge en Cron-jobb som kjører hver siste dag i hver måned. Vi har sett hvordan vi skal bestemme den siste dagen i en måned og planlegge en Cron -jobb.