Hoe u intervaltaken van minder dan 1 minuut uitvoert met behulp van de op tijd gebaseerde Cron-planner

  • Ronald Ferguson
  • 0
  • 1225
  • 17
> De op tijd gebaseerde planner van Linux Cron voert standaard geen taken uit met kortere intervallen dan 1 minuut. Deze configuratie laat je een eenvoudige truc zien hoe je de op tijd gebaseerde planner van Cron kunt gebruiken om taken uit te voeren met een interval van seconden. Laten we beginnen met de basis. De volgende cron-taak wordt elke minuut uitgevoerd:
 * * * * * datum >> / tmp / cron_test 
De bovenstaande taak wordt elke minuut uitgevoerd en voegt een huidige tijd in een bestand in / tmp / cron_test. Nu, dat is gemakkelijk! Maar wat als we elke 30 seconden dezelfde taak willen uitvoeren? Om dat te doen, gebruiken we cron om twee exact dezelfde taken in te plannen, maar we stellen de uitvoering van de tweede taken uit met slaap commando gedurende 30 seconden. Bijvoorbeeld:
 * * * * * date >> / tmp / cron_test * * * * * slaap 30; datum >> / tmp / cron_test 
Wat hierboven gebeurt, is dat de cron-planner beide taken tegelijkertijd uitvoert, maar de tweede cron-taak heeft een uitgestelde shell-uitvoering van 30 seconden. Met hetzelfde bovenstaande idee kunnen we ook intervallen voor het uitvoeren van cron-taken van 15 seconden plannen:
 * * * * * slaap 15; date >> / tmp / cron_test * * * * * slaap 30; date >> / tmp / cron_test * * * * * slaap 45; date >> / tmp / cron_test * * * * * slaap 60; datum >> / tmp / cron_test 
Nu, hoe zit het met 5 seconden? Hier hetzelfde, maar het zou iets meer typen zijn, dus ik raad aan om bash for loop te gebruiken om onze cron-lijst te genereren. Het volgende linux-commando zal een cron-lijst maken om uit te voeren datum >> / tmp / cron_test in intervallen van 5 seconden:
 # voor i in $ (seq 5 5 60); do (crontab -l; echo "* * * * * sleep $ i; date >> / tmp / cron_test") | crontab -; gedaan 
Gebruik crontab -l om al uw geplande cron-taken te zien:
 # crontab -l # m h dom mon dow commando * * * * * slaap 5; date >> / tmp / cron_test * * * * * slaap 10; date >> / tmp / cron_test * * * * * slaap 15; date >> / tmp / cron_test * * * * * slaap 20; date >> / tmp / cron_test * * * * * slaap 25; date >> / tmp / cron_test * * * * * slaap 30; date >> / tmp / cron_test * * * * * slaap 35; date >> / tmp / cron_test * * * * * slaap 40; date >> / tmp / cron_test * * * * * slaap 45; date >> / tmp / cron_test * * * * * slaap 50; date >> / tmp / cron_test * * * * * slaap 55; date >> / tmp / cron_test * * * * * slaap 60; datum >> / tmp / cron_test 
Controleer vervolgens je / tmp / cron_test uitvoerbestand:
 # cat / tmp / cron_test Zat 20 aug. 06:32:06 UTC 2016 Zat 20 aug. 06:32:11 UTC 2016 Zat 20 aug. 06:32:16 UTC 2016 Zat 20 aug. 06:32:21 UTC 2016 Zat 20 aug. 06 : 32: 26 UTC 2016 Zat 20 aug 06:32:31 UTC 2016 Zat 20 aug 06:32:36 UTC 2016 Zat 20 aug 06:32:41 UTC 2016 Zat 20 aug 06:32:46 UTC 2016 Zat 20 aug 06 : 32: 51 UTC 2016 Zat 20 aug 06:32:56 UTC 2016 Zat 20 aug 06:33:01 UTC 2016 Zat 20 aug 06:33:06 UTC 2016 Zat 20 aug 06:33:11 UTC 2016 Zat 20 aug 06 : 33: 16 UTC 2016 Zat 20 aug. 06:33:21 UTC 2016 



Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem