crontab

Kör ett kronjobb varje minut

Kör ett kronjobb varje minut
Om du vill köra ett program eller skript i bakgrunden på Linux är cron-jobb mycket viktigt. Med hjälp av cron-jobb kan du köra ett program eller skript i bakgrunden efter ett visst tidsintervall.

Låt oss ta en titt på några av de verkliga exemplen på cron-jobb.

Det finns många andra användningar av cron-jobb i Linux.

I den här artikeln kommer jag att visa dig hur du kör cron-jobb varje minut på Linux. Jag kommer att använda Debian 9 Stretch för demonstrationen. Men du kan använda vilken modern Linux-distribution du än väljer. Låt oss börja.

Grunderna i Crontab:

På Linux behöver du inte vara rot för att köra cron-jobb. Du kan köra cron-jobb som alla användare. Varje användare på Linux kan använda en crontab fil för att köra sin egen uppsättning cron-jobb.

Som standard har en användare inte en crontab fil på Linux. Du kan skapa en crontab fil med följande kommando:

$ crontab -e

Om du kör det här kommandot för första gången bör du bli ombedd att välja en textredigerare från listan. Jag väljer nano, standard. Du kan välja den du gillar. När du är klar trycker du på .

De crontab filen ska skapas (om den inte redan finns) och öppnas med din favorittextredigerare.  Nu kan du lägga till dina egna cron-jobb i slutet av den här filen och när du är nöjd sparar du den och avslutar textredigeraren.

Syntax för att köra ett kommando varje minut:

Syntaxen för crontab filen är som följer:

minut timme dayOfMonth månad dayOfWeek commandToRun

Här,

Att köra en commandToRun kommando varje minut, bör du skriva det i crontab filen enligt följande:

* * * * * commandToRun

Köra ett Crob-jobb varje minut:

Nu när vi känner till teorierna, låt oss lägga till ett enkelt manus timer.sh till crontab fil och se hur du hanterar den.

I timer.sh skript, jag har bara följande rader med koder. Allt det gör är att skapa en ny fil / home / shovon / bin / timer.logga (om det inte redan finns) och lägger till utdata från datumkommandot till det.

Låt oss nu lägga till skriptet till vårt crontab och låt det gå varje minut med följande rad:

* * * * * / hem / shovon / bin / timer.sh

När du har sparat crontab fil och avsluta textredigeraren, den nya crontab filen ska installeras.

Efter att en minut har gått är en ny fil timer.logga skapas i önskad katalog som du kan se i det markerade avsnittet på skärmdumpen nedan.

Från timer.logga loggfil är det uppenbart att skriptet timer.sh körs varje minut.

Fånga fel från Cron Jobs:

För att fånga fel från ett cron-jobb kan du skicka felen till a fel.logga fil och normala utgångar till tillgång.logga fil till exempel. Naturligtvis kan du namnge filerna vad du vill.

För att demonstrera detta ändrade jag mitt manus timer.sh lite grann. Nu skickas felen till fel.logga filen i / home / shovon / bin katalogen och utgångarna skickas till tillgång.logga i / home / shovon / bin katalog.

Först / tmp / i_must_be_here filen finns inte, så jag får felet i fel.logga fil som du kan se.

De tillgång.logga filen är tom just nu.

Nu ska jag skapa filen / tmp / i_must_be_here

Och som du kan se är resultatet i tillgång.logga fil nu.

Om du vill kan du omdirigera utdata och fel i samma fil enligt följande:

Som du kan se skickas STDIN- och STDERR-utgångar till ut.logga fil.

Se till att det senaste jobbet är klart innan du kör jobbet igen:

För att detta ska fungera kan du skapa en tillfällig fil strax efter att jobbet startat och ta bort den precis innan den är klar. Sedan kan du kontrollera om den tillfälliga filen finns innan du börjar jobbet. Om det gör det kan du avsluta jobbet och köra jobbet endast när den tillfälliga filen inte är tillgänglig.

Detta enkla manus gör just det.

Som du kan se timer.pid filen skapas.

Läser tillgång.logga filen visar att cron-jobbet inte körs innan det tidigare cron-jobbet är klart. Som du kan se sprang den kl 01:32:01 och nästa gång den skulle ha kört kl 01:33:01, men det gjorde det inte. Istället sprang den klockan 01:35:01, cirka 3 minuter senare.

Organisera Cron Job Outputs för enkel felsökning:

Du kan formatera utgångarna snyggt för att göra ditt cron-jobb lättare att felsöka.

Ett exempel på hur det kan göras ges i följande skript.

Som du kan se, skrivs utdata, fel och framgångsmeddelanden snyggt i loggfilen.

Du kan göra fantastiska saker med cron-jobb och skalskript. Jag demonstrerade några av idéerna här. Men himlen är din gräns. Experimentera gärna med alla idéer du har. Tack för att du läste den här artikeln.

Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...
Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...