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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2006-06-26 13:58:56

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Stan serwera smsem :)

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).


Kod:

#!/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

 

#2  2006-06-26 15:56:21

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Re: Stan serwera smsem :)

ew. coś takiego do sprawdzania stanu działania AP

Kod:

#!/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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.011 seconds, 10 queries executed ]

Informacje debugowania

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