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

Název: Bash - monitorování zátěže systému
Přispěvatel: 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 :)
Název: Re:Bash - monitorování zátěže systému
Přispěvatel: ntz_reloaded 21 Listopadu 2012, 12:53:42
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'
Název: Re:Bash - monitorování zátěže systému
Přispěvatel: Ilhvm 21 Listopadu 2012, 13:10:01
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?
Název: Re:Bash - monitorování zátěže systému
Přispěvatel: pacholik 21 Listopadu 2012, 14:34:13
tak či tak, bylo by dobrý porovnávat číslo s číslem a ne celej řádek s číslem
Název: Re:Bash - monitorování zátěže systému
Přispěvatel: jmp 21 Listopadu 2012, 14:39:52
nebude lepší, když si školní úlohu každý vypracuje sám? :-)
Název: Re:Bash - monitorování zátěže systému
Přispěvatel: Ilhvm 21 Listopadu 2012, 15:32:59
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í.
Název: Re:Bash - monitorování zátěže systému
Přispěvatel: jmp 21 Listopadu 2012, 17:00:51
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í...