Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Ilhvm 21 Listopadu 2012, 11:27:57
-
Zdravím,
mám naprogramovat skript, který bude monitorovat průměrné zatížení procesoru a paměti a v případě překročení hodnot, které jsou zadány při spuštění skriptu, se vypíše notifikace.
Mám zatím něco takového:
#!/bin/bash/
if [ top -b -n2 | grep %Cpu | tail -n1 >= 100 ];
then echo 'Doslo k prekroceni hodnoty CPU'
fi
if [ top -b -n2 | grep %mem | tail -n1 >= 80 ];
then echo 'Doslo k prekroceni hodnoty RAM'
fi
Při spuštění mi to hází chyby, nevím přesně jak složit podmínku, aby to fungovalo.
Děkuji za veškerou pomoc :)
-
ad.1) nepouzivas uvozovky
ad.2) pipovani topu je podle meho nazoru spatna metoda .. asi bych pouzil /proc/loadavg nebo uptime .. viz `man -s5 proc'
-
No někde jsem četla, že proc/loadavg nedává přímo vytížení procesoru, pomocí toho top by to nějak nešlo líp?
-
tak či tak, bylo by dobrý porovnávat číslo s číslem a ne celej řádek s číslem
-
nebude lepší, když si školní úlohu každý vypracuje sám? :-)
-
Po nikom nechci aby to za mne vypracoval, chci jen nakopnout, protože studuji dálkově a materiály, které máme, mi bohužel nedostačují.
-
ook
pak si ještě jednou přečtěte zadání a pak radu od ntz_reloaded - on je to ten správný směr nakopnutí...