Cron är ett effektivt och populärt kommandoradsverktyg som används för att schemalägga ett brett spektrum av uppgifter vid en viss tidpunkt utan användarinteraktion. De schemalagda uppgifterna kallas cron-jobb medan crontab är listan över filen som innehåller cron-jobb.
I den här artikeln kommer vi att förklara med olika exempel visar att du kan redigera och använda crontab-fil för att schemalägga uppgifter i Debian 10-systemet.
Cron kan användas för att automatisera uppgifter i följande scenarier:
- Köra schemalagda säkerhetskopior,
- Kontrollerar diskutrymme vid ett visst intervall,
- Kör automatiskt underhåll,
- Avlägsnar regelbundet oönskade filer,
- Kör nätverksdiagnostik
Syntax
Det är lättare att arbeta med cron när du förstår dess syntax. Den allmänna syntaxen för att använda cron är:
* * * * / sökväg / till / skript.shVarje fält motsvarar följande:
Minute (0-59) Hour (0-24) Day_of_the_Month (1-7) Month_of_the_Year (1-12)Day_of_the_Week (0-6) kommando
Installera Cron
Cron levereras förinstallerat i Debian 10. Men om det saknas i ditt system, kör du följande kommando för att installera det:
$ sudo apt installera cronVisa crontab
För att visa crontab-fil, använd följande kommando:
$ crontab -lFör att visa crontab-filen för en viss användare, använd följande kommando:
$ sudo crontab -u användare -lRedigera crontab
Så här redigerar du crontab-filen för den aktuella användaren:
$ crontab -eSå här redigerar du crontab-filen för en viss användare:
$ sudo crontab -u-användareOm du redigerar crontab-filen för första gången kommer du att bli ombedd att välja en redigerare:
När du väl har valt redigeraren visas följande fönster.
Till exempel vill du köra ett säkerhetskopieringsskript med namnet “backup.sh ”som finns i dokumentkatalogen dagligen klockan 02:00. För att göra det måste du lägga till följande rad i din crontab-fil:
0 2 * * * / Dokument / säkerhetskopia.sh
I fönstret ovan kan du lägga till dina cron-jobb en efter en. När du är klar sparar du och avslutar filen efter det att alla cron-jobb körs automatiskt med sitt angivna intervall.
Ta bort crontab
För att ta bort crontab-filen, ange följande kommando i Terminal:
$ crontab -rLåt oss nu gå igenom en serie exempel på cron-jobb på en Linux-maskin.
1. Kör ett cron-jobb varje minut
För att utföra ett cron-jobb varje minut, lägg till följande rad i din crontab-fil:
* * * * * / sökväg / till / skript.sh2. Kör ett cron-jobb efter var tionde minut
Lägg till följande rad i din crontab-fil för att schemalägga att ett cron-jobb ska köras efter var tionde minut.
* / 10 * * * * / sökväg / till / skript.sh3. Kör ett cron-jobb på specifika månader
Att planera ett cron-jobb som ska utföras på specifika månader e.g. Mars, augusti, december, lägg till cron-jobbet i din crontab-fil på följande sätt:
* * * jan, maj, aug * / path / to / script.sh4. Kör ett cron-jobb på utvalda dagar
Om du vill att ditt cron-jobb ska utföras på utvalda dagar ska vi anta söndag och fredag klockan 17.00, det ska se ut som följande.
0 17 * * sun, fre / path / to / script.sh5. Kör ett cron-jobb dagligen vid en viss tidpunkt
För att schemalägga ett cron-jobb som ska utföras dagligen vid en viss tidpunkt, låt oss säga klockan 3, lägg till den här raden i din crontab-fil.
0 3 * * * / sökväg / till / skript.sh6. Kör ett cron-jobb en viss dag
För att schemalägga ett cron-jobb att utföra en viss dag, låt oss säga varje söndag, lägg till den här raden i din crontab-fil.
0 0 * * SUN / path / to / script.shJobbet pågår varje söndag kl. 00.00.
7. Kör flera uppgifter i ett enda cron-jobb
För att schemalägga flera uppgifter i ett enda cron-jobb, lägg till alla skript i din crontab-fil genom att separera dem med ett semikolon.
* * * * * / sökväg / till / skript1.sh; / sökväg / till / skript2.sh8. Kör ett cron-jobb på varje veckodag
För att schemalägga ett cron-jobb som ska utföras varje dag i veckan som är från måndag till fredag, måste du lägga till den här raden i din crontab-fil.
0 0 * * 1-5 / sökväg / till / skript.shJobbet löper klockan 00 varje vardag.
9. Kör ett cron-jobb två gånger om dagen
Att schemalägga att ett jobb ska köras två gånger om dagen e.g. 06.00 och 15.00 måste du lägga till den här raden i din crontab-fil:
0 6,15 * * * / path / to / script.sh10. Kör ett kronjobb varje timme
För att schemalägga att ett cron-jobb ska utföras varje timme vid minut 0 måste du lägga till den här raden i din crontab-fil:
0 * * * * / sökväg / till / skript.shTill exempel, om den aktuella tiden är 14:00 kommer jobbet att köras 15:00, 16:00 och så vidare.
11. Kör ett cron-jobb efter var tredje timme
För att schemalägga att ett cron-jobb ska köras efter var tredje timme vid minut 0 måste du lägga till den här raden i din crontab-fil:
0 * / 3 * * * / sökväg / till / skript.shTill exempel, om den aktuella tiden är 14:00 kommer jobbet att köras 17:00, 20:00 och så vidare.
12. Kör cronjobb klockan 16:00 den första varje månad
För att schemalägga ett jobb som ska köras dagen första varje månad klockan 16:00 måste du lägga till den här raden i din crontab-fil:
0 16 1 * * / sökväg / till / skript.shSträngar i Crontab
Du kan också använda följande strängar snarare än de långa repetitiva kommandona.
@ timme- Kör cronjobb varje timme i.e. “0 * * * *“@ midnatt- Kör cronjobb varje dag i.e. “0 0 * * *“
@ dagligen - samma som midnatt
@ varje vecka - Kör cronjobb varje vecka, jag.e. “0 0 * * 0“
@ månadsvis - Kör cronjobb varje månad i.e. “0 0 1 * *“
@ årligen- Kör cronjobb varje år i.e. “0 0 1 1 *“
@ årligen- samma som @ årligen
@ reboot- Kör cronjobb vid varje start
Till exempel, för att köra cron-jobbet varje dag under den första minuten och den första timmen, lägg till följande rad:
@daily / path / to / script.shTill exempel för att köra cron-jobbet varje gång servern startas om:
@reboot / sökväg / till / skript.shDet är allt som finns i det! I den här artikeln har vi lärt oss hur man automatiserar olika uppgifter med hjälp av crontab i Debian-systemet. Genom att använda exemplen ovan kan du schemalägga alla typer av jobb som ska initieras utan någon användarinteraktion.