crontab

Crontab i Linux

Crontab i Linux
Med tillkomsten av ny teknik vill vi att allt ska automatiseras inklusive våra datorsystem. Som systemadministratör kanske vi till exempel vill att vår säkerhetskopia ska köras varje kväll 02:00. Vad är då syftet med datorer om vi måste vakna dagligen klockan 02:00 och köra kommandona manuellt för att starta säkerhetskopian. Det borde finnas ett sätt som säger till systemet att automatiskt köra en säkerhetskopia vid en viss tidpunkt. Lyckligtvis erbjuder Linux OS ett cron-verktyg som gör det möjligt att automatisera uppgifter under en viss period.

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:

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.sh

Varje 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 cron

Visa crontab

För att visa crontab-fil, använd följande kommando:

$ crontab -l

För att visa crontab-filen för en viss användare, använd följande kommando:

$ sudo crontab -u användare -l

Redigera crontab

Så här redigerar du crontab-filen för den aktuella användaren:

$ crontab -e

Så här redigerar du crontab-filen för en viss användare:

$ sudo crontab -u-användare

Om 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 -r

Lå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.sh

2. 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.sh

3. 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.sh

4. 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.sh

5. 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.sh

6. 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.sh

Jobbet 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.sh

8. 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.sh

Jobbet 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.sh

10. 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.sh

Till 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.sh

Till 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.sh

Strä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.sh

Till exempel för att köra cron-jobbet varje gång servern startas om:

@reboot / sökväg / till / skript.sh

Det ä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.

Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...