Hallo, ich würde gern per cronjob eine queue befüllen, weiß jemand ob und wie das mit Linux-Bordmitteln geht? Hintergrund: Ich habe hier einen Notfall-Backup-Server, der von einer handvoll anderer Server Daten zieht. Manche dieser Aufträge laufen recht häufig (jede Minute) andere nur alle 5 oder 10 Minuten, andere stündlich, täglich oder wöchentlich. Mittlerweile ist es eine halbe Doktorarbeit mit den jeweiligen Laufzeiten das ganze so einzustellen, dass es selten zu Konflikten kommt. Eigentlich ist es aber gar nicht schlimm, wenn eine handvoll schneller Jobs sich verspäten, weil ein anderer Job gerade eine Ressource blockiert. Die häufigen Jobs sind sehr schnell fertig, die seltenen dauern länger. Meine Priorität ist ganz klar, dass alle Jobs ausgeführt werden und die langwierigen auch ungefähr zur richtigen Zeit (± 30 Min). Mit einer Queue, die über den Cron befüllt wird könnte ich das sehr bequem erreichen. Durch die Laufzeiten und timeouts ist trivial zwingend klar, dass die Queue nicht unendlich anwachsen könnte. Ich könnte mir aber auch vorstellen, dass ich zum Beispiel die Minuten Jobs dann doch streichen würde, wenn die Queue mehr als ein Dutzend Einträge hat etc. pp. Deswegen die Frage. Geht sowas mit verbreiteten Linux Tools? vlg Timm
Das müsste mit systemd sehr gut gehen. Der kann zeitliche Jobs triggern und ich meine ( Aber keine gewähr ) warten bis andere Dinge erledigt sind.
- Jobs abweisend programmieren. Also sicherstellen, dass ein neuer Job gleicher Funktion nicht startet, bevor der alte fertig ist. - Vielleicht hilft dir "batch" weiter. Gehört zur cron/at Familie. - mcron (Mellor's cron) erlaubt neben der klassischen auch eine alternative Lisp-artige Spezifikation der Startbedingungen.
Hallo, Danke! batch hört sich erstmal gut an, aber eine Frage: führt batch einen Job nach dem anderen aus, so als ob sie der Reihe nach in einem Shell-Skript ständen, oder startet batch alle gleichzeitig, sobald System Load unter 0,8 ist? (Ich gebe zu, letzteres klingt nicht sehr sinnvoll, aber ...) vlg Timm
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.