Portál AbcLinuxu, 25. dubna 2024 18:39


Dotaz: skript, ktery hlida proces a posila info do mailu

22.8.2011 11:17 Luky
skript, ktery hlida proces a posila info do mailu
Přečteno: 189×
Odpovědět | Admin
Ahojky. Potreboval bych upravit skript (horkotezko vytvoreny:-), ktery mi hlida, zda mi bezi urcity bezici proces. Pousti se mi jednou denne cronem v pevny cas. Potreboval bych to ale dat do cronu tak, aby kontrola probihala kazdych 10 min. Nicmene potrebuju nejak osetrit to, aby mi kazdych 10 min nechodila informace (email) o hlaseni stavu. Potrebuji zahlasit pouze v pripade, ze stav byl zmenen. Poradite prosim, co kde pridat, ubrat atd. Moc diky.
#!/bin/bash

if ( ps -o comm -u user | grep kontrolovanyproces > /dev/null );
   then     SIZE=`df -hl | grep /ADDR | awk -F " " '{print $5 $6}'`;

            echo "OK, velikost $SIZE" | mail admin@example.net -c user@example.net -s "OK,$SIZE";


   else     SIZE=`df -hl | grep /ADDR | awk -F " " '{print $5 $6}'`;

            echo "CHYBA" | mail admin@example.net -c user@example.net -s "CHYBA,$SIZE";

fi;
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.8.2011 11:22 Kit
Rozbalit Rozbalit vše Re: skript, ktery hlida proces a posila info do mailu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Musíš si někde uložit stav, pak budeš mít s čím porovnávat.
22.8.2011 11:30 Luky
Rozbalit Rozbalit vše Re: skript, ktery hlida proces a posila info do mailu
Hmm..., ale jak to udelat?
22.8.2011 11:57 Kit
Rozbalit Rozbalit vše Re: skript, ktery hlida proces a posila info do mailu
Do souboru, do databáze, do démona, do klávesnice,... je vcelku jedno kam. Důležité je, aby to bylo schopno si zapamatovat alespoň 1 bit. Kdyby to bylo v cyklu, tak by to šlo i do proměnné prostředí, ale zřejmě to voláš cronem.

Prostě to uděláš jako stavový automat.
22.8.2011 12:06 deadmail
Rozbalit Rozbalit vše Re: skript, ktery hlida proces a posila info do mailu
Napriklad v skytom subore .kontrola ;-)
#!/bin/bash
kontrolovany_proces="sshd"
ulozeny_stav="./.kontrola"

[ -r "$ulozeny_stav" ] && read povodny <"$ulozeny_stav" || povodny="q"
pgrep "$kontrolovany_proces" &>/dev/null;
novy=$?
echo "$novy" >"$ulozeny_stav"
if [ "$povodny" != "$novy" ]
then
        VELKOST=`df -hl | awk -F " " '/\/ADDR/ {print $5,$6}'`
        [ $novy -eq 0 ] && SPRAVA="OK, $SIZE" || SPRAVA="CHYBA, $SIZE"
        echo "$SPRAVA" | mail admin@example.net -c user@example.net -s "$SPRAVA"
fi
22.8.2011 12:34 Luky
Rozbalit Rozbalit vše Re: skript, ktery hlida proces a posila info do mailu
No trosku se v tim musim probrat, abych to pochopil,ale diky. Dela to tedy to, co jsem potreboval, joo? :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.