Denne artikkelen vil forklare planleggingsoppgaver og kjøre skript med jevne mellomrom ved hjelp av Cron Jobs.
Hva er Cron?
Cron er et oppgaveplanleggingsprogram som kjører i bakgrunnen som en prosess. Det kan brukes til å kjøre visse jobber som planlegges med jevne mellomrom ved hjelp av det forhåndsdefinerte reglene for regler. Cron kommer forhåndsinstallert på de fleste Linux -distribusjoner eller tilgjengelig i depotene som skal installeres manuelt.
Cron forhåndsinnstillinger
Cron på Ubuntu kommer med et sett med forhåndsdefinerte planleggere. Du kan sjekke dem ved å kjøre kommandoen nedenfor:
$ ls /etc /cron.*
Vanligvis er disse mappene “/etc/cron.time ”,“/etc/cron.daglig ”,“/etc/cron.månedlig ”og“/etc/cron.ukentlig".
Bare legg de ønskede skriptene i en av disse mappene for å kjøre automatiserte oppgaver hver time, daglig, månedlig eller ukentlig.
Merk at Cron bruker “/bin/sh” -skall som standard. Hvis du vil bruke “/bin/bash” som skallet i cron -skript, må du bruke “!#/bin/bash ”Hashbang øverst i skriptfilen eller definer Shell som“ Shell =/bin/bash ”-variabel i den første linjen i et planlagt bash -skript. Overstyring av "skall" miljøvariabel fungerer også for crontab -redaktør forklart nedenfor.
Ikke alle systemmiljøvariabler kan bli utsatt for Cron -jobbene. Så det er generelt en god idé å manuelt definere viktige miljøvariabler i et skript planlagt av Cron.
Crontab
Crontab lar deg definere dine egne planlagte oppgaver. Du kan bruke den til å konfigurere Cron -tidsplaner som er forskjellige fra de fire standard Cron -forhåndsinnstillingene som er forklart ovenfor.
For å sette en planlagt oppgave i Crontab, lanser du først Crontab -redaktøren ved å bruke kommandoen nedenfor:
$ crontab -e
Nå på slutten av filen kan du legge til en oppføring i følgende format:
minutt time dag måned ukedag/full/sti/til/manus.shHvor:
Crontab -oppføringen nedenfor vil ta et skjermbilde av skrivebordet ditt og lagre det i hjemmekatalogen en gang 15:13 timer 2. mars pluss hver tirsdag i mars klokka 15:13 timer.
13 15 2 3 2 ScrotFor å liste opp alle crontab -oppføringer, bruk kommandoen nedenfor:
$ crontab -l
Flere eksempler
Cron -oppgaver kan best forklares gjennom eksempler, så nedenfor er noen eksempler som med jevne mellomrom vil ta skjermbilder av skrivebordet ditt og lagre dem i hjemmemappen.
Foruten de fem planleggingsvariablene, bruker Cron også noen spesielle streng for å planlegge jobber. Disse strengene er:
Crontab -oppføringen nedenfor vil ta skjermbilde en gang på hver omstart:
@Reboot ScrotDu kan erstatte “@Reboot” med alle andre spesielle strenger nevnt ovenfor.
Å bruke et stjerne eller jokertegn i stedet for en av de fem variablene vil gjenta jobb i alle nye forekomster av den variabelen. Oppføringen nedenfor vil ta et skjermbilde hvert minutt:
* * * * * PCROTHver time:
0 * * * * PCROTHver dag klokka 18:00:
0 18 * * * PCROTHver måned på 6. plass klokka 18:00:
0 18 6 * * PCROTBruk “/” til å kjøre et skript med et fast periodisk intervall på 30 minutter (kjører hvert 30. minutt):
*/30 * * * * PCROTDu kan bruke komma -separerte variabler for å definere gjentatt utførelse av skript med jevne mellomrom. Eksemplet nedenfor vil ta et skjermbilde av skrivebordet ditt hver første, 4. og 5. minutt av en ny time.
1,4,5 * * * * PCROTVerifisere crontab -oppføringer
Det kan være vanskelig å definere crontab -oppføringer. Et alternativ er å bruke en virtuell maskin og logge tidsstempler av et skript som kjører med jevne mellomrom på en Cron -jobb ved å inkludere noe som "Dato" -kommando og omdirigere utdataene til en tekstfil. Imidlertid er en bedre løsning å bruke en av de mange online Cron Jobs -testtjenestene som er tilgjengelige på nettet. Jeg anbefaler å gi Cron Tester nettsted tilgjengelig her.
Konklusjon
Å kjøre Cron Jobs er en utmerket måte å automatisere gjentatte oppgaver på, spesielt på servere. Verktøyet er ekstremt kraftig og tilpassbart. Imidlertid er det viktig å finne ut at din planleggerdefinisjon fungerer riktig, spesielt hvis det er oppdragskritiske oppgaver.