Vad är crontab?
Cron är uppkallat efter det grekiska ordet "Chronos" som används för tiden. 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äggare, som kallas 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 anger att kommandon ska köras regelbundet för det specifika schemat.
I den här handboken för operativsystem lär du dig:
- Vad är crontab?
- Varför använda CRONJOB?
- Hur använder jag Cron i Linux?
- Linux Crontab-format
- Hur man lägger till / ändrar Crontab
- Hur man listar Crontab
- Viktiga Crontab-exempel
Varför använda Cronjobs?
Här är skälen till att använda Cronjobs i Linux:
- Hjälper OS att ta en schemalagd säkerhetskopia av loggfiler eller databas.
- Ta bort gamla loggfiler
- Arkivera och rensa databastabeller
- Skicka ut alla e-postmeddelanden som nyhetsbrev, e-postmeddelanden om lösenord som upphör att gälla
- Regelbunden sanering av cachade data
- Crontab är ett perfekt alternativ för att automatisera Unix-jobb.
- Den används för att automatisera systemunderhåll
Hur använder jag Cron i Linux?
Linux-systempaketet har en användbar uppgiftsschemaläggare med namnet crontab. Crontab är populärt eftersom det kan schemaläggas att köra en automatiserad process som root. Därför är det enkelt att ha en automatisk process som körs som root. Du behöver bara ändra uppgiften och sedan vänta tills uppgiften återinitieras.
Linux Crontab-format
Crontab of Linux har sex fält. De första fem fälten definierar tid och datum för körning, och det sjätte fältet används för kommandokörning.
Crontab-syntax:
[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]
- Astrics (*): Används 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 områden: Låter dig definiera olika områden med kommandot separerade som apr-jun, okt-dec.
Hur man lägger till / ändrar Crontab
Användaren 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 inget behov av att starta om crontab eftersom det kommer att hämta dina ändringar automatiskt när du använder följande kommando.
$ crontab -l
Använd följande kommando för att ta bort dina crontab-uppgifter.
$ crontab -r
För att lägga till eller uppdatera jobb i crontab, använd kommandot nedan.
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
Beskrivning | Kommando |
Cron-kommando för att göra de olika schemaläggningsjobben. Nedanstående kommando körs klockan 7 och 17 varje dag. |
0 7,17 * * * /scripts/script.sh |
Kommando att köra en cron efter var 5: e minut. |
*/5* * * * * /scripts/script.sh |
Cron scheduler-kommandot hjälper dig att utföra uppgiften varje måndag kl. Det här kommandot är användbart för att utföra veckovisa uppgifter som systemrensning. |
0 5 * * mon /scripts/script.sh |
Kommando kö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 viss 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 köra på utvalda dagar. Det här exemplet körs varje måndag och onsdag kl. 17.00. |
0 17 * * mon,wed /script/script.sh |
Detta kommando gör att cron kan köras första lördagen i varje månad. |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
Kommando att köra ett skript i 6 timmars intervall så att det kan konfigureras som nedan. |
0 */6 * * * /scripts/script.sh |
Detta kommando planerar en uppgift att utföra två gånger på måndag och tisdag. Använd följande inställningar för att göra det. |
0 4,17 * * mon,tue /scripts/script.sh |
Kommandot schemalägger en cron att köra efter var 15: e sekund. |
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh |
Kommando att schemalägga uppgifter på årsbasis. @årlig tidsstämpel är = till "0 0 5 1 *". Detta utför uppgiften i femte minuten varje år. Du kan använda den för att skicka hälsningar för nyår. |
@yearly /scripts/script.sh |
Kommandouppgifter som ska utföras varje månad. @monthly tidsstämpel liknar "0 0 1 * *". Detta kommandouttryck gör det möjligt att utföra 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 att schemalägga uppgifter som ska utföras varje vecka. @tidsstämpel varje vecka liknar "0 0 4 * sun". Detta används för att utföra veckovisa uppgifter som systemrensning etc. |
@weekly /bin/script.sh |
Uppgiften kommer att planeras att utföras dagligen. @Daglig tidsstämpel liknar "0 2 * * *". Det utför uppgiften i andra minuten varje dag. |
@daily /scripts/script.sh |
Tillåter att uppgifter utförs varje timme. @hourly tidsstämpel liknar "0 * * * *". Detta kommando utför en uppgift under den första minuten varje timme. |
@hourly /scripts/script.sh |
Tillåter att uppgifter utförs vid omstart av systemet. @rebootuttryck är användbart för de uppgifter som systemet vill köra vid din systemstart. Detta är användbart för att starta uppgifter bakgrund automatiskt. |
@reboot /scripts/script.sh |
Sammanfattning:
- Cron är uppkallat efter det grekiska ordet "Chronos" som används för tiden.
- Cronjobs hjälper OS att ta en schemalagd säkerhetskopia av loggfiler eller databas.
- Linux-systempaketet har en användbar uppgiftsschemaläggare med namnet 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 körning, och det sjätte fältet används för kommandokörning.