crontab

Hvordan sette opp Cron-jobber i Linux

Hvordan sette opp Cron-jobber i Linux
Automatisering og planlegging av gjentatte oppgaver på stasjonære maskiner og servere forbedrer produktiviteten og reduserer manuell intervensjon og overvåking. Mange slike verktøy er tilgjengelige for Linux, og et av de mest brukte blant dem er "cron".

Denne artikkelen vil forklare planleggingsoppgaver og kjøre skript med jevne mellomrom ved hjelp av cron-jobber.

Hva er Cron?

Cron er et oppgaveplanleggingsprogram som kjører i bakgrunnen som en prosess. Den kan brukes til periodisk å kjøre bestemte jobber som er planlagt ved hjelp av det forhåndsdefinerte settet med regler. Cron er 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.hver time ”,“ / etc / cron.daglig ”,“ / etc / cron.månedlig ”og“ / etc / cron.ukentlig".

Bare legg til dine ønskede skript i en av disse mappene for å kjøre automatiske oppgaver hver time, daglig, månedlig eller ukentlig.

Merk at cron bruker “/ bin / sh” -skall som standard. Hvis du vil bruke “/ bin / bash” som skall i cron-skript, må du bruke “!# / bin / bash ”hashbang øverst i skriptfilen eller definer skallet som“ SHELL = / bin / bash ”-variabel i første linje i et planlagt bash-skript. Overstyring av "SHELL" miljøvariabelen fungerer også for crontab editor redegjort for nedenfor.

Ikke alle systemmiljøvariabler kan være utsatt for cron-jobbene. Så det er generelt lurt å 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, start først crontab-editoren 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 / skript.sh

Hvor:

Crontab-oppføringen nedenfor tar et skjermbilde av skrivebordet og lagrer det i hjemmekatalogen din en gang kl. 15:13 2. mars pluss hver tirsdag i mars kl. 15:13.

13 15 2 3 2 scrot

For å 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 tar skjermbilder av skrivebordet og lagrer dem i hjemmemappen.

Foruten de fem planleggingsvariablene, bruker cron også noen spesielle strenger for å planlegge jobber. Disse strengene er:

Crontab-oppføringen nedenfor tar skjermbilde en gang ved hver omstart:

@reboot scrot

Du kan erstatte “@reboot” med andre spesialstrenger som er nevnt ovenfor.

Ved å bruke en stjerne eller jokertegn i stedet for en av de fem variablene vil jobben gjentas på alle nye forekomster av den variabelen. Oppføringen nedenfor tar et skjermbilde hvert minutt:

* * * * * Scrot

Hver time:

0 * * * * scrot

Hver dag klokka 18:00:

0 18 * * * scrot

Hver måned den 6. klokka 18:00:

0 18 6 * * scrot

Bruk “/” til å kjøre et skript med et fast periodisk intervall på 30 minutter (kjøres hvert 30. minutt):

* / 30 * * * * scrot

Du kan bruke kommaseparerte variabler for å definere gjentatt kjøring av skript med jevne mellomrom. Eksemplet nedenfor tar et skjermbilde av skrivebordet ditt hvert 1., 4. og 5. minutt i en ny time.

1,4,5 * * * * scrot

Bekrefte Crontab-oppføringer

Det kan være vanskelig å definere crontab-oppføringer, men det er enda vanskeligere å feilsøke dem eller verifisere om de fungerer med riktig tidsstempel. Et alternativ er å bruke en virtuell maskin og logge tidsstempler for et skript som kjører med jevne mellomrom på en cron-jobb ved å inkludere noe som "date" -kommandoen og omdirigere utdata til en tekstfil. En bedre løsning er imidlertid å bruke en av de mange online cron-jobbtestene som er tilgjengelige på nettet. Jeg anbefaler å gi cron tester nettsted tilgjengelig her et forsøk.

Konklusjon

Å kjøre cron-jobber er en utmerket måte å automatisere gjentatte oppgaver, spesielt på servere. Verktøyet er ekstremt kraftig og tilpasses. Det er imidlertid viktig å forsikre deg om at planleggerdefinisjonen din fungerer riktig, spesielt hvis det er oppgavekritiske oppgaver.

Nyttige verktøy for Linux-spillere
Hvis du liker å spille spill på Linux, er sjansen stor for at du har brukt apper og verktøy som Wine, Lutris og OBS Studio for å forbedre spilloppleve...
HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...
Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...