Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Napisałem taki skrypcik wykorzystujący ten program ( http://ceti.pl/~miki/komputery/sms.html ) do wysyłania smsów (u mnie działa z miastem plusa). Do jego kompilacji wymagane sa pakiety opisne w pliku readme (3 paczki sa dla debiana, pcre+++ trzeba skompilowac, ja instalowałem też wersje dev tych pakietów).
#!/bin/bash procesy=`ps x | wc -l` up1=`uptime |awk '{print$3}'` up2=`uptime |awk '{print$5}'| cut -b 1,2` board=`sensors adm1021-* |tail -4|head -1|awk '{print$2}'|cut -b 1,2,3` cup=`sensors adm1021-* |tail -3|head -1|awk '{print$2}'|cut -b 1,2,3` ram=`free |tail -3|head -1| awk '{print$4}'` hda1=`df |tail -3|head -1| awk '{print$5}'` onet=`ping -c 6 onet.pl|tail -1|cut -d "/" -f 5` /usr/local/bin/sms -n 607123456 -m "(proc: $procesy) (up: $up1 dni $up2 godziny) (tempBOARD: $board C) (tempCUP: $cup C) (freeRAM: $ram KB) (hda1: $hda1 zajete) (pingOnet: $onet ms)"
W innej konfiguracji sprzetowej podane dane mogą być źle wycinane (jak ktoś chce to moge pomóc w edycji skryptu pod konkretne wyniki podanych poleceń) wiec trzeba je lekko przeedytowac (podstawy basha).
Skrypt wystarczy dodać do crona (crontab -e) żeby odpalał się np. co dwie godziny (w miescie plusa smsy sa darmowe bez limitów do sieci plusgsm, bardzo szybko tez dochodza wiec polecam wlasnie tam zalozyc konto, jest one zupelnie darmowe wystarczy tylko telefon w sieci plusgsm).
Skrypt wykorzystuje też program lm-sensors do sprawdzania temperatur (opis konfiguracji na http://debian.one.pl/index.php?url=13).
Taka jest treść wysyłanego smsa:
MiastoPlusa, Ulter: <root> (proc:63) (up: 4 dni 20 godziny) (tempBOARD: +42 C) (tempCUP: +48 C) (freeRAM: 5180KB) (hda1: 84% zajete) (pingOnet: 43.039)
Treść smsa jest za każdym razem inna wiec nie bedzie (chyba :) ) tez przeszkadzało zabezpiecznie anyspamowe miastaplusa.
Można tez dodać inne opcje, mozna wyciac wszystko co wyswietlane jest na konsoli (mi już zabrakło pomysłów)
Jak ktoś chce sie chwilke pobawic to polecam bo działa bardzo sprawnie i na bierzaco mozna kontrolowac serwer.
Offline
ew. coś takiego do sprawdzania stanu działania AP
#!/bin/bash ip_ap1=192.168.2.123 ap1_loss=`ping $ip_ap1 -c 10 |tail -2|head -1|awk '{ print $(NF-4) }'|cut -f1 -d%` data=`date` if [ $ap1_loss -gt 50 ] then /usr/local/bin/sms -n 60712345 -m "$ap1_loss% pakietow do $ip_ap1 utracone ($data)." fi
Wysyła smsa wtedy kiedy wiecej niz 50% pakietów do danego hosta zostanie utracona (np. zawieszenie sie AP). Dostajemy wtedy takiego smsa:
100% pakietow do 192.168.2.123 utracone (pon cze 26 15:50:13 CEST 2006)
pozdro!
Offline
Time (s) | Query |
---|---|
0.00016 | SET CHARSET latin2 |
0.00007 | SET NAMES latin2 |
0.00161 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.103.119' WHERE u.id=1 |
0.00122 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.103.119', 1738396503) |
0.00086 | SELECT * FROM punbb_online WHERE logged<1738396203 |
0.00133 | DELETE FROM punbb_online WHERE ident='85.208.96.194' |
0.00075 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=4252 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00147 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=4252 ORDER BY p.id LIMIT 0,25 |
0.00090 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=4252 |
Total query time: 0.00842 s |