crontab

Crontab in Linux

Crontab in Linux
Met de komst van nieuwe technologieën willen we dat alles wordt geautomatiseerd, ook onze computersystemen. Als systeembeheerder willen we bijvoorbeeld dat onze back-up elke nacht om 2:00 uur wordt uitgevoerd. Wat is dan het doel van computers als we dagelijks om 2:00 uur wakker moeten worden en de opdrachten handmatig moeten uitvoeren om de back-up te starten. Er zou een manier moeten zijn die het systeem vertelt om automatisch een back-up op een bepaald tijdstip uit te voeren. Gelukkig biedt Linux OS een cron-hulpprogramma waarmee taken in een bepaalde periode kunnen worden geautomatiseerd.

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:

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

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

Bekijk crontab

Gebruik de volgende opdracht om het crontab-bestand te bekijken:

$ crontab -l

Gebruik de volgende opdracht om het crontab-bestand van een bepaalde gebruiker te bekijken:

$ sudo crontab -u gebruiker -l

Crontab bewerken

Om het crontab-bestand van de huidige gebruiker te bewerken:

$ crontab -e

Om het crontab-bestand van een bepaalde gebruiker te bewerken:

$ sudo crontab -u gebruiker

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Om bijvoorbeeld de cron-taak uit te voeren telkens wanneer de server opnieuw wordt opgestart:

@reboot /pad/naar/script.sh

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

Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...
Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...