Beoordeel dit artikel :
5/5 | 2 mening
Dit artikel was nuttig voor jou ?
Ja
Geen
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Veel systeembeheer kan worden geautomatiseerd via Perl scripts of shell scripts die op regelmatige intervallen worden uitgevoerd. Je zou bijvoorbeeld een script kunnen hebben om te controleren of je schijf niet vol is dat eens per uur draait om je te laten weten of er problemen zijn. Het meest gebruikte mechanisme voor het plannen van commando's op Linux systemen is via het cron pakket.
In Debian maakt het cron-pakket deel uit van het basissysteem en draait het standaard.
Cron wordt met Debian meegeleverd voor twee doeleinden:
Om systeemtaken dagelijks/wekelijks/maandelijks uit te voeren.
Om gebruikers in staat te stellen hun eigen geplande taken te configureren.
Het Cron-pakket maakt automatisch de volgende mappen aan:
/etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly
Afgezien van de eerste, die speciaal is, kun je met deze mappen op een eenvoudige manier taken plannen voor het hele systeem. Elk script dat erin wordt geplaatst, zal zo vaak worden uitgevoerd als de naam suggereert.
Als je bijvoorbeeld een script in /etc/cron.daily plaatst, zal het elke dag één keer per dag worden uitgevoerd.
Deze mappen zijn handig in sommige gevallen, maar als je de uitvoeringstijden verder wilt aanpassen, dan kan dit gedaan worden door het /etc/crontab bestand te bewerken, wat we hierna zullen uitleggen:
De normale manier waarop mensen cron gebruiken is via het crontab commando. Dit laat je toe om je crontab bestand te bekijken of te bewerken, wat een bestand per gebruiker is dat de commando's beschrijft die uitgevoerd moeten worden en de tijd om ze uit te voeren.
Om je bestand te tonen voer je het volgende commando uit:
crontab -l
De root-gebruiker kan het crontab-bestand van elke gebruiker bekijken door -u gebruikersnaam toe te voegen, bijvoorbeeld :
crontab -u gebruikersnaam -l
Het formaat van deze bestanden is vrij eenvoudig te begrijpen. Elke regel is een verzameling van zes velden gescheiden door spaties.
De velden zijn :
Het aantal minuten na het uur (0 tot 59)
Het uur in militaire tijd (24 uur) formaat (0 tot 23)
De dag van de maand (1 tot 31).
Maand (1 tot 12).
Dag van de week (0 of 7).
Het commando dat moet worden uitgevoerd.
Ze zien er als volgt uit:
* * * * Uit te voeren commando - - - - | | | | | +-----> Dag van de week (0-7) | | +-----------> De maand (1 - 12) | +-----------------> De dag van de maand (1 - 31) | +-----------------------> Het uur (0 - 23) +-----------------------------> Minuten (0 - 59)
(Elk van de eerste vijf velden bevat alleen getallen, maar ze kunnen als * worden gelaten om aan te geven dat elke waarde acceptabel is).
Nu we de structuur hebben gezien, kunnen we proberen een paar voorbeelden uit te voeren:
Bewerk je crontab bestand:
crontab -e
Dit zal je standaardeditor uitvoeren op je crontab-bestand (en indien nodig aanmaken). Wanneer je het bestand opslaat en je editor afsluit, wordt je crontab in het systeem geïnstalleerd, tenzij er fouten in zitten.
De standaardeditor is nano
Voer de volgende tekst in:
0 * * * * /bin/ls > /var/log/ls.log
Wanneer je het bestand hebt opgeslagen en je editor hebt afgesloten, zie je een bericht als :
crontab: nieuwe crontab installeren
Je kunt controleren of het bestand bevat wat je verwacht met
crontab -l
Hier hebben we Cron verteld om het /bin/ls commando uit te voeren en de uitvoer van het commando om te leiden naar het /var/log/ls.log bestand elke keer als de minuut gelijk is aan 0, d.w.z. het zal het commando op het uur uitvoeren, elk uur.
Andere voorbeelden:
Voer de opdracht "night" elke dag tien minuten na middernacht uit
10 0 * * * /bin/night
Voer het commando "Monday" elke maandag om 2 uur uit
0 2 * * 1 /usr/local/bin/lundi
Als je iets heel regelmatig wilt uitvoeren, kun je een andere syntaxis gebruiken: in plaats van alleen getallen, kun je reeksen of reeksen gebruiken.
Een reeks getallen geeft aan dat elk punt in dit bereik beschikbaar zal zijn, dus als je de volgende regel gebruikt, voer je een commando uit op 1 uur, 2 uur, 3 uur en 4 uur:
* 1-4 * * /bin/command
Een set is vergelijkbaar, bestaande uit een reeks getallen gescheiden door komma's, elk item in de lijst wordt gematcht. Het vorige voorbeeld ziet er zo uit met sets:
* 1,2,3,4 * * /bin/command
Beoordeel dit artikel :
5/5 | 2 mening
Dit artikel was nuttig voor jou ?
Ja
Geen
2mn lezen
Hoe configureer ik de firewall op een dedicated VPS server?
1mn lezen
Hoe kan ik als root verbinding maken op een dedicated VPS server met Putty?
0mn lezen
Linux / Debian SSH-opdrachten
0mn lezen
SSH - Apt-get commando: Pakketten installeren en verwijderen