Planen von Befehlen nach Systeminaktivität


7

So cronoder atkönnen unsere Befehle planen zum genauen Zeitpunkt laufen wir müssen sie, aber können wir Befehle planen zu laufen , wenn Systeme sind inaktiv ?

Etwas wie:

echo "some_commands" | when 'cpu < 15%' 

Sie müssen genauer sein: Was ist der Zweck von some_command?

Aus Ihrer Frage geht nicht hervor, ob Sie über seti @ home oder ein Skript für verzögerte Wartung sprechen.

Ein Skript, das ausgeführt werden soll, wenn der PC nicht zu beschäftigt ist.
Stefan

2
Kein Hop, ich versuche nicht dick zu sein, noch versuche ich unhöflich zu sein. Ich gehe davon aus, dass meine Frage klar genug ist, da die 3 erhaltenen Antworten alle genau richtig sind.
Stefan

1
Das ist eine gute Frage @Stefan. Bei meinem vorherigen Job haben wir viele lastabhängige Oracle-Batch-Jobs mit DBMS_JOB ausgeführt. Es ist üblich, Jobs nur auszuführen, wenn die Last unter ein bestimmtes Niveau fällt. Ich wünschte mir oft, wir könnten dies mit cron gut machen, aber wir haben nur hackische Lösungen gefunden.
Stefan Lasiewski

Antworten:


2

hmmm ... ich glaube nicht ... aber was könnten Sie tun , ist cron ein Skript wie alle 5 Minuten laufen zu lassen und die überprüft durchschnittliche Belastung zu sehen , ob es akzeptabel niedrig ist. Ich würde den Strom nicht überprüfen, da Sie die CPU zwischen 2 wirklich hohen Spitzen bekommen könnten. Dies sind nur Gedanken darüber, was ich tun würde, um dies zu erreichen, aber es könnte einen besseren Weg geben.


3
Beachten Sie, dass uptimeBerichte Durchschnittswerte für drei verschiedene Intervalle laden (letzte Minute, letzte fünf Minuten und letzte fünfzehn Minuten). Im Allgemeinen ist der Lastdurchschnitt nur die durchschnittliche Anzahl von Elementen in der Ausführungswarteschlange während dieses Zeitintervalls. Auf einigen Systemen (insbesondere Linux) werden Prozesse im Status "D" als ausführbar gezählt. Ein System mit Prozessen, die auf einem langsamen (oder fehlenden) NFS-Server warten, kann daher einen hohen Auslastungsdurchschnitt aufweisen, der nichts mit der tatsächlichen Auslastung des Systems zu tun hat.
Jim Dennis

6

Fcron hat viele zusätzliche Funktionen gegenüber herkömmlichen Cronds. Zum Beispiel:

  • Legen Sie den Durchschnittswert für die maximale Systemlast fest, unter dem der Job ausgeführt werden soll

(Zitat von der Homepage)

So können Sie mit fcron einrichten, was Sie wollen.


4

Auf vielen Systemen ist der at-Daemon so konfiguriert, dass der batchBefehl einen Befehl ausführt, wenn das System eine bestimmte Last unterschreitet. Dies gibt Ihnen jedoch möglicherweise nicht die feinkörnige Kontrolle, die Sie suchen.


Von 'man batch' auf meinem Fedora 14-System: batch führt Befehle aus, wenn die Systemlaststufen dies zulassen. mit anderen Worten, wenn der Lastdurchschnitt unter 0,8 fällt oder der im Aufruf von atd angegebene Wert.
Dr. Jan

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.