Cron is een effectief en populair opdrachtregelprogramma dat wordt gebruikt om een breed scala aan taken op een bepaald tijdstip te plannen zonder tussenkomst van de gebruiker. De geplande taken staan bekend als cron-taken, terwijl de crontab de lijst is van het bestand met de cron-taken.
In dit artikel zullen we het uitleggen met verschillende voorbeeldshows die u kunt bewerken en gebruiken crontab-bestand om taken te plannen in het Debian 10-systeem.
Cron kan worden gebruikt om taken in de volgende scenario's te automatiseren:
- Back-ups van schema's uitvoeren,
- Schijfruimte controleren met een bepaald interval,
- Automatisch onderhoud uitvoeren,
- Periodiek ongewenste bestanden verwijderen,
- Netwerkdiagnose uitvoeren
Syntaxis
Het is gemakkelijker om met cron te werken, als je de syntaxis eenmaal begrijpt. De algemene syntaxis om cron te gebruiken is:
* * * * /pad/naar/script.shElk van de velden komt overeen met het volgende:
Minuut (0-59) Uur (0-24) Dag_van_de_Maand (1-7) Maand_van_het_Jaar (1-12)Opdracht Day_of_the_Week (0-6)
Cron installeren
Cron is voorgeïnstalleerd in Debian 10. Als het echter op uw systeem ontbreekt, voert u de volgende opdracht uit om het te installeren:
$ sudo apt install cronBekijk crontab
Gebruik de volgende opdracht om het crontab-bestand te bekijken:
$ crontab -lGebruik de volgende opdracht om het crontab-bestand van een bepaalde gebruiker te bekijken:
$ sudo crontab -u gebruiker -lCrontab bewerken
Om het crontab-bestand van de huidige gebruiker te bewerken:
$ crontab -eOm het crontab-bestand van een bepaalde gebruiker te bewerken:
$ sudo crontab -u gebruikerAls je het crontab-bestand voor de eerste keer bewerkt, wordt je gevraagd een editor te kiezen:
Nadat u de editor hebt geselecteerd, verschijnt het volgende venster:.
U wilt bijvoorbeeld een back-upscript uitvoeren met de naam "backup.sh” dagelijks om 2:00 uur in de documentenmap. Om dit te doen, moet je de volgende regel in je crontab-bestand toevoegen:
0 2 * * * /Documenten/back-up.sh
In het bovenstaande venster kunt u uw cron-taken één voor één toevoegen. Als u klaar bent, slaat u het bestand op en sluit u het af, waarna alle cron-taken automatisch met het opgegeven interval worden uitgevoerd.
Crontab verwijderen
Om het crontab-bestand te verwijderen, voert u de volgende opdracht in Terminal in:
$ crontab -rLaten we nu een reeks voorbeelden van cron-taken op een linux-machine doornemen.
1. Voer elke minuut een cronjob uit
Om elke minuut een cron-job uit te voeren, voeg je de volgende regel toe aan je crontab-bestand:
* * * * * /pad/naar/script.sh2. Voer na elke 10 minuten een cronjob uit
Om een cron-taak te plannen om elke 10 minuten uit te voeren, voegt u de volgende regel toe aan uw crontab-bestand:.
*/10 * * * * /pad/naar/script.sh3. Voer een cronjob uit op specifieke maanden
Een cron-taak plannen om op specifieke maanden uit te voeren e.g. Maart, augustus, december, voeg de cron-job op de volgende manier toe aan je crontab-bestand:
* * * jan,mei,aug * /pad/naar/script.sh4. Voer een cronjob uit op geselecteerde dagen
Als u wilt dat uw cron-job op geselecteerde dagen wordt uitgevoerd, laten we aannemen dat zondag en vrijdag om 17.00 uur, het er als volgt uit moet zien.
0 17 * * zo,vrij /pad/naar/script.sh5. Voer dagelijks een cronjob uit op een specifiek tijdstip
Voeg deze regel toe aan je crontab-bestand om een cron-job dagelijks op een specifiek tijdstip uit te voeren, laten we zeggen om 3 uur 's nachts.
0 3 * * * /pad/naar/script.sh6. Voer een cronjob uit op een specifieke dag
Om een cron-job op een specifieke dag uit te voeren, laten we zeggen elke zondag, voeg je deze regel toe aan je crontab-bestand.
0 0 * * SUN /pad/naar/script.shDe baan loopt elke zondag om 00:00 uur.
7. Voer meerdere taken uit in één cron-taak
Om meerdere taken in een enkele cron-taak te plannen, voegt u alle scripts in uw crontab-bestand toe door ze te scheiden met een puntkomma.
* * * * * /pad/naar/script1.sch; /pad/naar/script2.sh8. Voer een cronjob uit op elke weekdag
Om een cron-job te plannen voor uitvoering op elke dag van de week, van maandag tot en met vrijdag, moet je deze regel toevoegen aan je crontab-bestand.
0 0 * * 1-5 /pad/naar/script.shDe baan zal elke weekdag om 00:00 uur lopen.
9. Voer twee keer per dag een cronjob uit
Een taak plannen zodat deze twee keer per dag wordt uitgevoerd e.g. om 6 uur en 15 uur, moet je deze regel toevoegen aan je crontab-bestand:
0 6,15 * * * /pad/naar/script.sh10. Voer elk uur een cronjob uit
Om een cron-job te plannen die elk uur op minuut 0 wordt uitgevoerd, moet je deze regel toevoegen aan je crontab-bestand:
0 * * * * /pad/naar/script.shAls de huidige tijd bijvoorbeeld 14.00 uur is, wordt de taak uitgevoerd om 15.00 uur, 16.00 uur enzovoort.
11. Voer elke 3 uur een cronjob uit
Om te plannen dat een cron-taak elke 3 uur op minuut 0 wordt uitgevoerd, moet je deze regel toevoegen aan je crontab-bestand:
0 */3 * * * /pad/naar/script.shAls de huidige tijd bijvoorbeeld 14.00 uur is, wordt de taak uitgevoerd om 17.00 uur, 20.00 uur enzovoort.
12. Voer cronjob uit om 16:00 uur op de eerste van elke maand
Om een taak te plannen die op de eerste dag van elke maand om 16:00 uur wordt uitgevoerd, moet je deze regel toevoegen aan je crontab-bestand:
0 16 1 * * /pad/naar/script.shSnaren in Crontab
Je kunt ook de volgende strings gebruiken in plaats van de lange repetitieve commando's:.
@hourly- Voer elk uur een cron-job uit i.e. “0 * * * *“@midnight- Voer elke dag cronjob uit i.e. “0 0 * * *“
@daily- hetzelfde als middernacht
@weekly- Voer elke week een cron-job uit, i.e. “0 0 * * 0“
@monthly- Voer elke maand een cron-job uit i.e. “0 0 1 * *“
@annually- Voer elk jaar een cron-job uit i.e. “0 0 1 1 *“
@jaarlijks- hetzelfde als @jaarlijks
@reboot- Voer cron-taak uit bij elke keer opstarten
Als u bijvoorbeeld de cron-taak elke dag in de eerste minuut en het eerste uur wilt uitvoeren, voegt u de volgende regel toe:
@daily /pad/naar/script.shOm bijvoorbeeld de cron-taak uit te voeren telkens wanneer de server opnieuw wordt opgestart:
@reboot /pad/naar/script.shDat is alles wat er is! In dit artikel hebben we geleerd hoe we verschillende taken kunnen automatiseren met behulp van crontab in het Debian-systeem. Door de bovenstaande voorbeelden te gebruiken, kunt u elk soort taak plannen om te starten zonder enige gebruikersinteractie.