Crontab in Linux: VOORBEELDEN van taakplanning

Wat is crontab?

Cron is vernoemd naar het Griekse woord ‘Chronos’ dat voor tijd wordt gebruikt. Het is een systeemproces dat automatisch taken uitvoert volgens het specifieke schema. Het is een reeks opdrachten die worden gebruikt voor het uitvoeren van reguliere planningstaken. Crontab staat voor ‘crontabel’. Het maakt het mogelijk om de taakplanner, die bekend staat als cron, te gebruiken om taken uit te voeren.

Crontab is ook de naam van het programma, dat wordt gebruikt om dat schema te bewerken. Het wordt aangestuurd door een crontab-bestand, een configuratiebestand dat aangeeft dat shell-opdrachten periodiek moeten worden uitgevoerd volgens een specifiek schema.

Waarom Cronjobs gebruiken?

Hier zijn de redenen om Cronjobs in Linux te gebruiken:

  • Helpt het besturingssysteem een ​​geplande back-up te maken van logbestanden of database.
  • Verwijder oude logbestanden
  • Archive en leeg databasetabellen
  • Stuur een e-mail met een melding, zoals nieuwsbrieven, e-mails over het verlopen van wachtwoorden
  • Regelmatige opschoning van gegevens in de cache
  • Crontab is een ideale optie om Unix-taken te automatiseren.
  • Het wordt gebruikt om het systeemonderhoud te automatiseren

Hoe cron gebruiken onder Linux?

Linux systeem pack heeft een handige taakplanner genaamd crontab. Crontab is populair omdat het kan worden gepland om een ​​geautomatiseerd proces als root uit te voeren. Daarom maakt het hebben van een geautomatiseerd proces dat als root draait systeemwijzigingen eenvoudiger. U hoeft alleen maar de taak te wijzigen en vervolgens te wachten tot de taak opnieuw wordt gestart.

Linux Crontab-formaat

Crontab van Linux heeft zes velden. De eerste vijf velden definiëren de tijd en datum van uitvoering, en het 6e veld wordt gebruikt voor het uitvoeren van opdrachten.

Crontab-syntaxis:

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Linux Crontab-formaat

  • Sterren (*): Gebruik om te matchen
  • Definieer bereik: Hiermee kunt u een bereik definiëren met behulp van koppeltekens zoals 1-10 of 30-40 of jan-mar, ma-wo.
  • Definieer meerdere bereiken: Hiermee kunt u verschillende bereiken definiëren met gescheiden commando's zoals apr-jun,oct-dec.

Crontab toevoegen/wijzigen

Gebruikers kunnen hun crontab-taken bewerken met behulp van de volgende crontab-opdracht:

$ crontab -u -e 

Met de bovenstaande opdracht wordt de persoonlijke crontab-configuratie van uw computersysteem geopend, die kan worden bewerkt met uw standaardteksteditor.

U hoeft crontab niet opnieuw op te starten, omdat de wijzigingen automatisch worden doorgevoerd wanneer u de volgende opdracht gebruikt.

$ crontab -l

Gebruik de volgende opdracht om uw crontab-taken te verwijderen.

$ crontab -r

Gebruik de onderstaande opdracht om een ​​taak in crontab toe te voegen of bij te werken.

crontab -e

Commando om de crontab van een andere gebruiker te bewerken

crontab -u username -e

Hoe Crontab te vermelden

Commando om crontab-items van de huidige gebruiker te bekijken

crontab -l

Commando om crontab-items van een specifieke gebruiker te bekijken:

crontab -u username -l

Belangrijke Crontab-voorbeelden

Hier zijn enkele belangrijke voorbeelden van Crontab

Beschrijving commando
Cron-opdracht om de verschillende planningstaken uit te voeren.
Onderstaande opdracht wordt dagelijks uitgevoerd om 7 uur en 5 uur.
0 7,17 * * * /scripts/script.sh
Opdracht om na elke 5 minuten een cron uit te voeren.
*/5* * * * *  /scripts/script.sh
Met de Cron-planneropdracht kunt u de taak op elke computer uitvoeren Monday om 5 uur. Deze opdracht is handig voor het uitvoeren van wekelijkse taken zoals het opschonen van het systeem.
0 5 * * mon  /scripts/script.sh
Commando voer uw script uit met een interval van 3 minuten.
*/3 * * * * /scripts/monitor.sh
Commando om een ​​cron te plannen die gedurende een specifieke maand wordt uitgevoerd.
Deze opdracht voor het uitvoeren van taken wordt uitgevoerd in de maanden februari, juni en september. Soms moeten we een taak plannen om een ​​geselecteerde maandelijkse taak uit te voeren.
* * * feb,jun,sep *  /script/script.sh
Commando om uit te voeren op geselecteerde dagen. In dit voorbeeld wordt elk uitgevoerd Monday en woensdag om 5 uur.
0 17 * * mon,wed  /script/script.sh
Met dit commando kan cron elke eerste zaterdag van de maand worden uitgevoerd.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Opdracht om een ​​script uit te voeren met een interval van 6 uur, zodat het kan worden geconfigureerd zoals hieronder.
0 */6 * * * /scripts/script.sh
Met deze opdracht wordt een taak gepland die tweemaal moet worden uitgevoerd Monday en dinsdag. Gebruik de volgende instellingen om dit te doen.
0 4,17 * * mon,tue /scripts/script.sh
Commando plant een cron die na elke 15 seconden moet worden uitgevoerd.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Commando om taken op jaarbasis te plannen.
@jaarlijkse tijdstempel is= naar “0 0 5 1 *”. Hiermee wordt de taak elk jaar in de vijfde minuut uitgevoerd. Je kunt het gebruiken om nieuwjaarswensen te versturen.
@yearly /scripts/script.sh 
Commandotaken die maandelijks moeten worden uitgevoerd.
@maandelijkse tijdstempel is vergelijkbaar met “0 0 1 * *”. Met deze commando-expressie kan een taak in de eerste minuut van de maand worden uitgevoerd.
@monthly /scripts/script.sh
Commando om meerdere taken uit te voeren met één enkele cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Commando om taken te plannen die wekelijks moeten worden uitgevoerd.
@wekelijkse tijdstempel is vergelijkbaar met "0 0 4 * zon". Dit wordt gebruikt om de wekelijkse taken uit te voeren, zoals het opschonen van het systeem enz.
@weekly /bin/script.sh
Er wordt een dagelijkse uitvoering van de taak gepland.
@dagelijkse tijdstempel is vergelijkbaar met "0 2 * * *". Het voert de taak elke tweede minuut van de dag uit.
@daily /scripts/script.sh
Zorgt ervoor dat taken elk uur kunnen worden uitgevoerd.
@uurtijdstempel is vergelijkbaar met “0 * * * *”. Met deze opdracht wordt in de eerste minuut van elk uur een taak uitgevoerd.
@hourly /scripts/script.sh
Hiermee kunnen taken worden uitgevoerd bij het opnieuw opstarten van het systeem.
@reboot-expressie is handig voor de taken die het systeem wil uitvoeren bij het opstarten van uw systeem. Dit is handig om de achtergrond van taken automatisch te starten.
@reboot /scripts/script.sh

Overzicht:

  • Cron is vernoemd naar het Griekse woord ‘Chronos’ dat voor tijd wordt gebruikt.
  • Cronjobs helpen het besturingssysteem bij het maken van een geplande back-up van logbestanden of database.
  • Het Linux-systeempakket heeft een handige taakplanner genaamd crontab die kan worden gepland om een ​​geautomatiseerd proces als root uit te voeren.
  • Crontab van Linux heeft zes velden. De eerste vijf velden definiëren de tijd en datum van uitvoering, en het 6e veld wordt gebruikt voor het uitvoeren van opdrachten.