Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
blackm
- Moderator und Co-Admin
- Beiträge: 5921
- Registriert: 02.06.2002 15:03:17
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von blackm » 18.01.2014 14:02:57
Hallo zusammen,
ich möchte ein Script nur ausführen wenn die Systemlast unter zwei ist....mein Ansatz ist /proc/loadavg auszuwerten, aber
klappt nicht, weil ich aus /proc/loadavg nur einen String bekomme, keine Zahl....
Hat jemand etwas ähnliches schon mal gemacht?
-
DeletedUserReAsG
Beitrag
von DeletedUserReAsG » 18.01.2014 14:27:59
Bisschen seltsam:
http://www.tldp.org/LDP/abs/html/untyped.html
Mag der Fehler woanders liegen?
Edit:
… scheint den Job zu tun.
Edit2: '2' kann auch ohne „.0“ da stehen.
Edit3: eigentlich musses nicht mal gequotet sein.
-le erwartet Integers,
<, >, = sind da nicht wählerisch.
-
Cae
- Beiträge: 6349
- Registriert: 17.07.2011 23:36:39
- Wohnort: 2130706433
Beitrag
von Cae » 18.01.2014 15:04:23
Du solltest dir mal
batch(1) anschauen:
man 1 batch hat geschrieben:Code: Alles auswählen
batch executes commands when system load levels permit; in other
words, when the load average drops below 1.5, or the value
specified in the invocation of atd.
Damit kannst du dir erneute Implementation ersparen.
Ich wuerde dafuer allerdings
Code: Alles auswählen
if awk '{exit($1>2)}' </proc/loadavg; then
echo 'load too high'
exit 1
fi
verwenden. Alternativ koennte man fuer die Felder
$2 oder
$3 anstatt des 1-Minuten-Durchschnitts den fuer fuenf oder 15 Minuten zu Rate ziehen.
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
-
blackm
- Moderator und Co-Admin
- Beiträge: 5921
- Registriert: 02.06.2002 15:03:17
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von blackm » 18.01.2014 22:59:59
Hallo ihr zwei,
vielen Dank für die Antworten. Ich habe niemands Vorschlag übernommen.
Von at habe ich schon mal was gelesen, batch kannte ich aber noch nicht.
-
peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Beitrag
von peschmae » 20.01.2014 09:05:01
Für viele derartige Probleme (z.B. das löschen alter Backups, Deduplizierung, etc) benutze ich mittlerweile ionice -c idle $foo. Je nach dem was genau das Ziel ist auch eine Alternative...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
-
blackm
- Moderator und Co-Admin
- Beiträge: 5921
- Registriert: 02.06.2002 15:03:17
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von blackm » 20.01.2014 12:00:07
Ja, der cronjob wird bei mir auch mit ionice gestartet