SSH - Schemalagda uppgifter

Procédure

SSH - Schemalagda uppgifter

Mycket systemadministration kan automatiseras via Perl-skript eller shell-skript som körs med jämna mellanrum. Du kan t.ex. ha ett skript som kontrollerar att disken inte är full och som körs en gång i timmen för att meddela dig om det finns några problem. Den vanligaste mekanismen för schemaläggning av kommandon på Linux-system är via cron-paketet.

I Debian är cron-paketet en del av bassystemet och körs som standard.

Cron levereras med Debian för två syften:

  • Att köra systemuppgifter på daglig/veckovis/månatlig basis.

  • För att tillåta användare att konfigurera sina egna schemalagda uppgifter.


Cron-paketet skapar automatiskt följande kataloger:

/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly


Bortsett från den första, som är speciell, gör dessa kataloger att du kan schemalägga uppgifter för hela systemet på ett enkelt sätt. Alla skript som placeras i dem kommer att köras så ofta som namnet antyder.

Om du t.ex. placerar ett skript i /etc/cron.daily kommer det att köras en gång om dagen, varje dag.

Dessa kataloger är användbara i vissa fall, men om du behöver justera exekveringstiderna ytterligare kan du göra det genom att redigera filen /etc/crontab, som vi förklarar härnäst:

Det normala sättet att använda cron är via kommandot crontab. Detta gör att du kan visa eller redigera din crontab-fil, som är en fil per användare som innehåller poster som beskriver kommandona som ska köras och tiden för att köra dem.

För att visa din fil kör du följande kommando:

crontab -l


Root-användaren kan visa crontab-filen för vilken användare som helst genom att lägga till -u användarnamn, till exempel :

crontab -u användarnamn -l


Formatet på dessa filer är ganska enkelt att förstå. Varje rad består av sex fält som är åtskilda med mellanslag.

Fälten är :

  1. Antal minuter efter timmen (0 till 59)

  2. Timmen i formatet militärtid (24 timmar) (0 till 23)

  3. Dag i månaden (1 till 31).

  4. Månad (1 till 12).

  5. Veckodag (0 eller 7).

  6. Kommandot som ska utföras.


De skulle kunna se ut så här:

* * * * * * Kommando som ska utföras - - - - - | | | | | | | | +-----> Veckodag (0-7) | | +-----------> Månad (1 - 12) | +-----------------> Månadsdag (1 - 31) | +-----------------------> Timme (0 - 23) +-----------------------------> Minuter (0 - 59)

(Vart och ett av de fem första fälten innehåller bara siffror, men de kan lämnas som * för att ange att vilket värde som helst kan accepteras).


Nu när vi har sett strukturen ska vi försöka köra ett par exempel:

Redigera din crontab-fil:

crontab -e


Detta kommer att köra din standardredigerare på din crontab-fil (skapa den om det behövs). När du sparar filen och avslutar redigeraren kommer din crontab att installeras i systemet om det inte finns några fel i den.

Standardredigeraren är nano

Skriv in följande text:

0 * * * * /bin/ls > /var/log/ls.log


När du har sparat filen och avslutat din editor kommer du att se ett meddelande som :

crontab: installerar ny crontab


Du kan kontrollera att filen innehåller det du förväntar dig med:

crontab -l


Här har vi sagt till Cron att köra kommandot /bin/ls och omdirigera utdata från kommandot till filen /var/log/ls.log varje gång minuten är lika med 0, dvs. kommandot körs på timmen, varje timme.

Andra exempel:

Kör kommandot "night" tio minuter efter midnatt, varje dag

10 0 * * * /bin/night


Kör kommandot "Monday" varje måndag kl. 02.00

0 2 * * 1 /usr/local/bin/lundi


Om du vill köra något mycket regelbundet kan du använda en annan syntax: i stället för att bara använda siffror kan du använda intervall eller uppsättningar.

En serie siffror anger att varje punkt i detta intervall kommer att vara tillgänglig, så om du använder följande rad kör du ett kommando klockan 1, 2, 3 och 4:

* 1-4 * * * /bin/kommando


En uppsättning är liknande och består av en uppsättning siffror som separeras med kommatecken, varje objekt i listan kommer att matchas. Det föregående exemplet ser ut så här med set:

* 1,2,3,4 * * /bin/kommando

Betygsätt denna artikel :

5/5 | 2 Yttrande

Den här artikeln var användbar för dig ?

Article utileJa

Article non utileNej

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Liknande artiklar

2mn läsning

Hur konfigurerar jag brandväggen på en dedikerad VPS-server?

1mn läsning

Hur kan jag ansluta som root på en dedikerad VPS-server med Putty?

0mn läsning

Linux / Debian SSH-kommandon

0mn läsning

SSH - Kommandot Apt-get: Installera och avinstallera paket


Ställ en fråga till AWS-teamet och dess community