Betygsätt denna artikel :
5/5 | 2 Yttrande
Den här artikeln var användbar för dig ?
Ja
Nej
Vous avez noté 0 étoile(s)
Sommaire
Procédure
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 :
Antal minuter efter timmen (0 till 59)
Timmen i formatet militärtid (24 timmar) (0 till 23)
Dag i månaden (1 till 31).
Månad (1 till 12).
Veckodag (0 eller 7).
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 ?
Ja
Nej
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