Crontab i Linux: Job Scheduling EXEMPEL

Vad är crontab?

Cron är uppkallad efter det grekiska ordet "Chronos" som används för tid. Det är en systemprocess som automatiskt utför uppgifter enligt det specifika schemat. Det är en uppsättning kommandon som används för att köra vanliga schemaläggningsuppgifter. Crontab står för "cron table". Det gör det möjligt att använda jobbschemaläggaren, som är känd som cron för att utföra uppgifter.

Crontab är också namnet på programmet, som används för att redigera det schemat. Den drivs av en crontab-fil, en konfigurationsfil som indikerar skalkommandon som ska köras regelbundet för det specifika schemat.

Varför använda Cronjobs?

Här är anledningarna till att använda Cronjobs i Linux:

  • Hjälper OS att ta en schemalagd säkerhetskopiering av loggfiler eller databas.
  • Ta bort gamla loggfiler
  • Archive och rensa databastabeller
  • Skicka ut e-postmeddelanden som nyhetsbrev, e-postmeddelande om lösenordsförfall
  • Regelbunden rensning av cachad data
  • Crontab är ett idealiskt alternativ för att automatisera Unix-jobb.
  • Den används för att automatisera systemunderhåll

Hur använder man cron i Linux?

Linux-system pack har en användbar uppgiftsschemaläggare som heter crontab. Crontab är populärt eftersom det kan schemaläggas att köra en automatiserad process som root. Att ha en automatiserad process som körs som root gör därför systemändringar enklare. Du behöver bara ändra uppgiften och sedan vänta tills uppgiften återupptas.

Linux Crontab-format

Crontab of Linux har sex fält. De första fem fälten definierar tid och datum för exekvering, och det sjätte fältet används för kommandoexekvering.

Crontab-syntax:

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Linux Crontab-format

  • Astrik (*): Använd för matchning
  • Definiera intervall: Låter dig definiera ett intervall med hjälp av bindestreck som 1-10 eller 30-40 eller jan-mar, mån-ons.
  • Definiera flera intervall: Låter dig definiera olika intervall med kommandoseparerade som apr-jun, okt-dec.

Hur man lägger till/ändrar Crontab

Användare kan redigera sina crontab-jobb med hjälp av följande crontab-kommando:

$ crontab -u -e 

Ovanstående kommando öppnar den personliga crontab-konfigurationen för ditt datorsystem, som kan redigeras med din standardtextredigerare.

Det finns ingen anledning att starta om din crontab eftersom den hämtar dina ändringar automatiskt när du använder följande kommando.

$ crontab -l

För att ta bort dina crontab-uppgifter, använd följande kommando.

$ crontab -r

För att lägga till eller uppdatera jobb i crontab, använd nedanstående kommando.

crontab -e

Kommando för att redigera andra användares crontab

crontab -u username -e

Hur man listar Crontab

Kommando för att visa crontab-poster för nuvarande användare

crontab -l

Kommando för att visa crontab-poster för en specifik användare:

crontab -u username -l

Viktiga Crontab-exempel

Här är några viktiga exempel på Crontab

Description Kommando
Cron-kommandot för att utföra de olika schemaläggningsjobben.
Nedan givna kommandon utförs kl. 7 och 5 dagligen.
0 7,17 * * * /scripts/script.sh
Kommando för att utföra en cron efter var 5:e minut.
*/5* * * * *  /scripts/script.sh
Cron Scheduler kommando hjälper dig att utföra uppgiften på varje Monday klockan 5. Det här kommandot är användbart för att utföra veckouppgifter som systemrensning.
0 5 * * mon  /scripts/script.sh
Kommandokör ditt skript med 3 minuters intervall.
*/3 * * * * /scripts/monitor.sh
Kommando för att schemalägga en cron som körs för en specifik månad.
Detta kommando för att köra uppgifter körs i februari, juni och september månader. Ibland behöver vi schemalägga en uppgift för att utföra en utvald månadsuppgift.
* * * feb,jun,sep *  /script/script.sh
Kommando att utföra på valda dagar. Detta exempel kommer att köra var och en Monday och onsdag klockan 5.
0 17 * * mon,wed  /script/script.sh
Detta kommando låter cron köras den första lördagen i varje månad.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Kommando för att köra ett skript i 6 timmars intervall så att det kan konfigureras enligt nedan.
0 */6 * * * /scripts/script.sh
Detta kommando schemalägger en uppgift som ska köras två gånger på Monday och tisdag. Använd följande inställningar för att göra det.
0 4,17 * * mon,tue /scripts/script.sh
Kommando schemalägg en cron som ska köras efter var 15:e sekund.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Kommando för att schemalägga uppgifter på årsbasis.
@årlig tidsstämpel är= till “0 0 5 1 *”. Detta utför uppgiften i den femte minuten varje år. Du kan använda den för att skicka nyårshälsningar.
@yearly /scripts/script.sh 
Beordra uppgifter att utföra på månadsbasis.
@monthly tidsstämpel liknar “0 0 1 * *”. Detta kommandouttryck tillåter exekvering av en uppgift under den första minuten i månaden.
@monthly /scripts/script.sh
Kommando för att utföra flera uppgifter med en enda cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Kommando för att schemalägga uppgifter som ska utföras på veckobasis.
@veckotidsstämpel liknar "0 0 4 * sol". Detta används för att utföra veckouppgifter som systemrensning etc.
@weekly /bin/script.sh
Uppgiften kommer att schemaläggas för att utföras dagligen.
@daglig tidsstämpel liknar “0 2 * * *”. Den utför uppgiften i den andra minuten av varje dag.
@daily /scripts/script.sh
Tillåter uppgifter att utföras varje timme.
@timmes tidsstämpel liknar "0 * * * *". Detta kommando utför en uppgift under den första minuten av varje timme.
@hourly /scripts/script.sh
Tillåter att uppgifter körs vid omstart av systemet.
@reboot expression är användbart för de uppgifter som systemet vill köra vid din systemstart. Detta är användbart för att starta uppgifter i bakgrunden automatiskt.
@reboot /scripts/script.sh

Sammanfattning:

  • Cron är uppkallad efter det grekiska ordet "Chronos" som används för tid.
  • Cronjobs hjälper OS att ta en schemalagd säkerhetskopia av loggfiler eller databas.
  • Linux-systempaketet har en användbar uppgiftsschemaläggare som heter crontab som kan schemaläggas för att köra en automatiserad process som root.
  • Crontab of Linux har sex fält. De första fem fälten definierar tid och datum för exekvering, och det sjätte fältet används för kommandoexekvering.