#!/bin/sh # (c)2003 by Jan Krupa (krupaj@mobilnews.cz) # http://www.mobilnews.cz/honza/ # -- Configuration --------------------------------------------------- # CaLStats directory and data paths STATS_PATH=/usr/local/calstats STATS_PATH_DATA=$STATS_PATH/data STATS_PATH_OUT=$STATS_PATH/out STATS_PATH_TMP=$STATS_PATH/tmp # Program paths PHP_PATH=/usr/bin/php4 PING_PATH=ping NMAP_PATH=nmap FPING_PATH=fping # STATS_TYPE - ping, fping or nmap STATS_TYPE=ping # Don't change anything bellow this line if you are not sure what # you are doing ;) # -------------------------------------------------------------------- for LINE in `ls -1 $STATS_PATH_DATA | grep .config`; do a_file=`echo $LINE | awk -F. '{ printf "%s", $1 }'` file_comp=$STATS_PATH_DATA/$a_file.comp file_state=$STATS_PATH_DATA/$a_file.state # Get computer states if [ $STATS_TYPE = "fping" ]; then ping_host_all="" for LINE in `cat $file_comp`; do ping_host=`echo -n $LINE | awk -F\; '{ printf "%s", $2 }'` ping_host_all="${ping_host_all} ${ping_host}" done $FPING_PATH -e $ping_host_all | awk -F\ '{ printf "%s;", $1; if ($3=="alive") printf "1;%s;\n", substr($4, 2, (length($4)-1)); else printf "0;0;\n"; }' > $file_state fi if [ $STATS_TYPE = "ping" ]; then for LINE in `cat $file_comp`; do ping_host=`echo -n $LINE | awk -F\; '{ printf "%s", $2 }'`; ping_lat=\;`$PING_PATH -c 1 -w 2 $ping_host | grep rtt | awk -F\ '{ printf "%s", $4 }' | awk -F\/ ' { printf "%s", $2 }'`; if [ "$ping_lat" = ";" ]; then ping_lat=\;`$PING_PATH -c 1 -w 2 $ping_host | grep rtt | awk -F\ '{ printf "%s", $4 }' | awk -F\/ ' { printf "%s", $2 }'`; fi if [ "$ping_lat" = ";" ]; then echo $ping_host\;0\;0\;; > $file_state else echo $ping_host\;1$ping_lat\;; > $file_state fi done fi if [ $STATS_TYPE = "nmap" ]; then ping_host_all="" for LINE in `cat $file_comp`; do ping_host=`echo -n $LINE | awk -F\; '{ printf "%s", $2 }'` ping_host_all="${ping_host_all} ${ping_host}" done $NMAP_PATH -vnsP $ping_host_all | awk -F\ '{ if ($1=="Host") { if (match($2, /\(/) == 0) { printf "%s;", $2; } else { printf "%s;", substr($2, 2, (length($2)-2)); } if ($6=="up.") printf "1;0;\n"; else printf "0;0;\n"; } }' > $file_state fi # Create picture to temporary location $PHP_PATH -q $STATS_PATH/calstats.php $STATS_PATH_DATA/$a_file > $STATS_PATH_TMP/$a_file.png # Move picture to output location mv -f $STATS_PATH_TMP/$a_file.png $STATS_PATH_OUT done
WebSVN - netmap - Blame - Rev 38 - /work/calstats-0.1.2/calstats/gen_stats
Català-Valencià - Catalan
Česky - Cesky
Dansk - Dansk
Dutch - Dutch
English - English
Finnish - Finnish
Français - Francais
Deutsch - German
עברית - Hebrew
Magyar - Hungarian
Bahasa Indonesia - Indonesian
Italiano - Italian
日本語 - Japanese
한국어 - Korean
Norsk - Norwegian
Polski - Polish
Português - Portuguese
Português - Brazilian Portuguese
Русский - Russian
中文 - Simplified Chinese
Slovenčina - Slovak
Slovenčina - Slovenian
Español - Spanish
Svenska - Swedish
中文 - Traditional Chinese
Türkçe - Turkish
Oëzbekcha - Uzbek
netmap
Subversion Repositories:
banderdyn
centos.prosek.czf
crusader
czf4bfu
czf4bfu.prosek.czf
czfcentos
czfgmap
discover
fedora.prosek.czf
freenet-router
ftth
getonlineclouds
hotsanic
internet.prosek.czf
is
mapstats
meteolinger
netmap
qos
sedlo
sedlo.prosek.czf
switches
vbtobb
vlubnt
weathermap
weatherstats
websvn
wifidashboard
wifimon
www.prosek.czf
xenstats
[
/
] [
work/
] [
calstats-0.1.2/
] [
calstats/
] [
gen_stats
] - Blame information for rev
38
Line No.
Rev
Author
Line
Powered by
WebSVN
2.2.1