So führen Sie weniger als 1 Minute Intervalljobs mit Cron Time-Based Scheduler aus

So führen Sie weniger als 1 Minute Intervalljobs mit Cron Time-Based Scheduler aus

Der linux cron-zeitbasierte Scheduler führt standardmäßig keine Jobs mit kürzeren Intervallen als 1 Minute aus. Diese Konfiguration zeigt Ihnen einen einfachen Trick, wie Sie mit Cron-Zeitplaner mithilfe von Sekunden-Intervall Jobs ausführen können. Beginnen wir mit den Grundlagen. Der folgende Cron -Job wird jede Minute ausgeführt:

* * * * * Datum >> /tmp /cron_test 

Der obige Job wird jede Minute ausgeführt und fügt eine aktuelle Zeit in eine Datei ein /tmp/cron_test. Das ist einfach! Aber was ist, wenn wir alle 30 Sekunden den gleichen Job ausführen wollen? Dazu verwenden wir Cron, um zwei genau gleiche Jobs zu vereinbaren, aber wir verschieben die Ausführung der zweiten Jobs mithilfe schlafen Befehl für 30 Sekunden. Zum Beispiel:

* * * * * Datum >> /tmp /cron_test * * * * * schlaf 30; Datum >> /tmp /cron_test 

Was oben geschieht, ist, dass Cron Scheduler beide Jobs gleichzeitig ausführt. Der zweite Cron -Job wird jedoch 30 Sekunden verspätete Shell -Ausführung haben. Verwenden der gleichen oben genannten Idee können wir auch 15 Sekunden Zeitintervalle Cron Job -Ausführung planen:

* * * * * Schlaf 15; Datum >> /tmp /cron_test * * * * * schlaf 30; Datum >> /tmp /cron_test * * * * * schlaf 45; Datum >> /tmp /cron_test * * * * * schlaf 60; Datum >> /tmp /cron_test 

Was ist jetzt mit 5 Sekunden? Gleiches gilt hier, aber es wäre ein bisschen mehr tippt, daher schlage ich vor, Bash für die Loop zu verwenden, um unsere Cron -Liste zu generieren. Der folgende Linux -Befehl erstellt eine Cron -Liste, um auszuführen Datum >> /tmp /cron_test In 5 Sekunden Intervallen:

# für i in $ (SEQ 5 5 60); do (crontab -l; echo " * * * * * schlaf $ i; Datum >> /tmp /cron_test") | Crontab -; Erledigt 


Verwenden Crontab -l Um alle Ihre Cron -geplanten Jobs zu sehen:

# crontab -l # m h dom mon dow -Befehl * * * * * Sleep 5; Datum >> /tmp /cron_test * * * * * schlaf 10; Datum >> /tmp /cron_test * * * * * schlaf 15; Datum >> /tmp /cron_test * * * * * schlaf 20; Datum >> /tmp /cron_test * * * * * schlaf 25; Datum >> /tmp /cron_test * * * * * schlaf 30; Datum >> /tmp /cron_test * * * * * schlaf 35; Datum >> /tmp /cron_test * * * * * schlaf 40; Datum >> /tmp /cron_test * * * * * schlaf 45; Datum >> /tmp /cron_test * * * * * schlaf 50; Datum >> /tmp /cron_test * * * * * schlaf 55; Datum >> /tmp /cron_test * * * * * schlaf 60; Datum >> /tmp /cron_test 

Überprüfen Sie als nächstes Ihre /tmp/cron_test Ausgabedatei:

# Cat /TMP /Cron_test Sa 20. August 06:32:06 UTC 2016 Sa 20 06:32:11 UTC 2016 Sa 20 06:32:16 UTC 2016 Sa 20. August 06:32:21 UTC 2016 Sa 20 06 : 32: 26 UTC 2016 Sa 20. August 06:32:31 UTC 2016 Sa 20. August 06:32:36 UTC 2016 Sa 20. August 06:32:41 UTC 2016 Sa 20. August 06:32:46 UTC 2016 Sa 20 06 06 : 32: 51 UTC 2016 Sa 20. August 06:32:56 UTC 2016 Sa 20. August 06:33:01 UTC 2016 Sa 20 06:33:06 UTC 2016 Sa 20. August 06:33:11 UTC 2016 Sa 20 06 : 33: 16 UTC 2016 Sa 20. August 06:33:21 UTC 2016 

Verwandte Linux -Tutorials:

  • So führen Sie Befehle regelmäßig mit Anacron unter Linux aus
  • So erstellen Sie einen Cron -Job in Kubernetes
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • So setzen Sie Datum und Uhrzeit für Almalinux fest
  • Dinge zu installieren auf Ubuntu 20.04
  • So setzen Sie Crontab so, dass alle 5 Minuten ausgeführt werden können
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Ziehen Sie Ihre Bash -Skripte und -Ver Prozeduren aus dem Code aus
  • So stellen/ändern Sie die Zeitzone auf Almalinux
  • Wie man Pacman -Updates in Arch Linux rollt