crontab

Kjør en Cron-jobb hvert minutt

Kjør en Cron-jobb hvert minutt
Hvis du vil kjøre et program eller skript i bakgrunnen på Linux, er cron-jobb veldig viktig. Ved hjelp av cron-jobber kan du utføre et program eller skript i bakgrunnen etter et gitt tidsintervall.

La oss ta en titt på noen av de virkelige eksemplene på cron-jobber.

Det er mange andre bruksområder for cron-jobber i Linux.

I denne artikkelen vil jeg vise deg hvordan du kjører cron-jobber hvert minutt på Linux. Jeg vil bruke Debian 9 Stretch til demonstrasjonen. Men du kan bruke hvilken som helst moderne Linux-distribusjon du ønsker. La oss komme i gang.

Grunnleggende om Crontab:

På Linux trenger du ikke være det rot for å kjøre cron-jobber. Du kan kjøre cron-jobber som enhver bruker. Hver bruker på Linux kan bruke en crontab fil for å kjøre sitt eget sett med cron-jobber.

Som standard har ikke en bruker en crontab fil på Linux. Du kan opprette en crontab fil med følgende kommando:

$ crontab -e

Hvis du kjører denne kommandoen for første gang, bør du bli bedt om å velge en tekstredigerer fra listen. Jeg skal velge nano, standard. Du kan velge den du liker. Når du er ferdig, trykk .

De crontab filen skal opprettes (hvis den ikke allerede er tilgjengelig) og åpnes med favoritt teksteditoren din.  Nå kan du legge til dine egne cron-jobber på slutten av denne filen, og når du først er fornøyd, er det bare å lagre den og gå ut av tekstredigereren.

Syntaks for å kjøre en kommando hvert minutt:

Syntaksen til crontab filen er som følger:

minutt time dagFraMånededagFraVeek-kommandoTilkjør

Her,

Å kjøre en commandToRun kommando hvert minutt, bør du skrive det i crontab filen som følger:

* * * * * kommandoToRun

Kjører en Crob-jobb hvert minutt:

Nå som vi kjenner teoriene, la oss legge til et enkelt skript timer.sh til crontab fil og se hvordan du administrerer den.

I timer.sh skript, jeg har bare følgende linjer med koder. Alt det gjør er å opprette en ny fil / home / shovon / bin / timer.Logg (hvis ikke allerede eksisterer) og legger utdataene fra dato-kommandoen til den.

La oss nå legge til skriptet til vårt crontab og la den gå hvert minutt med følgende linje:

* * * * * / home / shovon / bin / timer.sh

Når du lagrer crontab fil og gå ut av tekstredigeringsprogrammet, den nye crontab filen skal installeres.

Etter at et minutt er gått, er det en ny fil timer.Logg er opprettet i ønsket katalog som du kan se i den merkede delen av skjermbildet nedenfor.

Fra timer.Logg loggfil, er det åpenbart at skriptet timer.sh løper hvert minutt.

Fange feil fra Cron Jobs:

For å fange feil fra en cron-jobb, kan du sende feilene til a feil.Logg fil og normale utganger til adgang.Logg fil for eksempel. Selvfølgelig kan du navngi filene hva du vil.

For å demonstrere dette endret jeg skriptet mitt timer.sh en liten bit. Nå sendes feilene til feil.Logg filen i / hjem / skovl / søppel katalogen og utgangene sendes til adgang.Logg i / hjem / skovl / søppel katalog.

Først den / tmp / i_must_be_here filen eksisterer ikke, så jeg får feilen i feil.Logg filen som du kan se.

De adgang.Logg filen er tom for øyeblikket.

Nå skal jeg lage filen / tmp / i_must_be_here

Og som du kan se, er resultatet i adgang.Logg fil nå.

Hvis du vil, kan du omdirigere utdataene og feilene i samme fil som følger:

Som du kan se, sendes STDIN- og STDERR-utganger til ute.Logg fil.

Forsikre deg om at den siste jobben var ferdig før du kjørte jobben igjen:

For at dette skal fungere, kan du opprette en midlertidig fil like etter at jobben starter og fjerne den like før den er ferdig. Deretter kan du sjekke om den midlertidige filen eksisterer før du starter jobben. Hvis det gjør det, kan du avslutte jobben og kjøre jobben bare når den midlertidige filen ikke er tilgjengelig.

Dette enkle skriptet gjør nettopp det.

Som du kan se, er timer.pid filen er opprettet.

Leser adgang.Logg filen viser at cron-jobben ikke kjører før den forrige cron-jobben er ferdig. Som du ser, løp den klokka 01:32:01, og neste gang den skulle ha kjørt klokken 01:33:01, men det gjorde det ikke. I stedet løp den klokka 01:35:01, omtrent 3 minutter senere.

Organisere Cron Job Outputs for enkel feilsøking:

Du kan formatere utgangene pent for å gjøre cron-jobben lettere å feilsøke.

Et eksempel på hvordan det kan gjøres er gitt i følgende skript.

Som du kan se, blir utgangene, feilene og suksessmeldingene trykt i loggfilen.

Du kan gjøre fantastiske ting med cron-jobber og shell-skript. Jeg demonstrerte noen av ideene her. Men himmelen er grensen din. Eksperimenter gjerne med ideer du har. Takk for at du leser denne artikkelen.

Kamp for Wesnoth 1.1. 3.6 Utvikling utgitt
Kamp for Wesnoth 1.1. 3.6 utgitt i forrige måned, er den sjette utgivelsen i 1.1. 3.x-serien, og den leverer en rekke forbedringer, spesielt til bruke...
Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...