22-11-2000, 10:03
Hallo,
ich hatte vor kurzer Zeit ein Script geschrieben, welches mir in periodischen Abständen Zeitmessungen vornimmt ... als Anhang dieses Script ....
Jetzt mein Problem !?
Wenn ich per time { lynx ... }
die Zeit des Systems bekomme (mich interessiert hier eigentlich nur die "real 0m5.432s" Zeile), wie kann ich die Ausgabe in eine Variable umlenken ??!?
Wäre nett, wenn mir jemand von Euch dabei helfen könnte, da ich noch recht "frisch" in Shellscript-Programmierung bin ...
Ciao,
Markus
#!/bin/sh
cd /usr/local/genios
url1=http://www.yahoo.de
url2=http://www.geocities.com
url3=http://www.metager.de
datestamp=`date +%d`"."`date +%m`
timestamp=`date +%X`
genios="WebServer"
mailto="empfaenger1@mailserver.de"
ccmail="empfaenger2@mailserver.de,empfaenger3@mailserver.d e"
subject="Webserver-Ausfall"
t1=`date +%s`
time { lynx -source $url1 >/dev/null; }
t2=`date +%s`
t2=$(($t2-$t1))
t3=`date +%s`
time { lynx -source -cookies $url2 > checkout.html; }
t4=`date +%s`
t4=$(($t4-$t3))
t5=`date +%s`
time { lynx -source $url3 >/dev/null; }
t6=`date +%s`
t6=$(($t6-$t5))
if diff -q ref-genios.html checkout.html | grep differ >/dev/null
then echo "[$datestamp $timestamp] **** $genios NICHT ERREICHBAR ****" >> diffgenios.log
cp mail.template sendthismail.txt
cp diffgenios.log part2.txt
cat part2.txt >>sendthismail.txt
rm part2.txt
mail -s $subject -c $ccmail $mailto < sendthismail.txt
rm sendthismail.txt
echo "Mail an $mailto und $ccmail gesendet am $datestamp $timestamp" >mail.locked
echo "$datestamp,$timestamp,$t2,$t4,$t6" >>time-unreached.log
else
if test -e "mail.locked"
then
echo "[$datestamp $timestamp] **** $genios wieder ERREICHBAR ****" >> diffgenios.log
rm mail.locked
fi
echo "$datestamp,$timestamp,$t2,$t4,$t6" >>time-url.log
fi
rm checkout.html
ich hatte vor kurzer Zeit ein Script geschrieben, welches mir in periodischen Abständen Zeitmessungen vornimmt ... als Anhang dieses Script ....
Jetzt mein Problem !?
Wenn ich per time { lynx ... }
die Zeit des Systems bekomme (mich interessiert hier eigentlich nur die "real 0m5.432s" Zeile), wie kann ich die Ausgabe in eine Variable umlenken ??!?
Wäre nett, wenn mir jemand von Euch dabei helfen könnte, da ich noch recht "frisch" in Shellscript-Programmierung bin ...
Ciao,
Markus
#!/bin/sh
cd /usr/local/genios
url1=http://www.yahoo.de
url2=http://www.geocities.com
url3=http://www.metager.de
datestamp=`date +%d`"."`date +%m`
timestamp=`date +%X`
genios="WebServer"
mailto="empfaenger1@mailserver.de"
ccmail="empfaenger2@mailserver.de,empfaenger3@mailserver.d e"
subject="Webserver-Ausfall"
t1=`date +%s`
time { lynx -source $url1 >/dev/null; }
t2=`date +%s`
t2=$(($t2-$t1))
t3=`date +%s`
time { lynx -source -cookies $url2 > checkout.html; }
t4=`date +%s`
t4=$(($t4-$t3))
t5=`date +%s`
time { lynx -source $url3 >/dev/null; }
t6=`date +%s`
t6=$(($t6-$t5))
if diff -q ref-genios.html checkout.html | grep differ >/dev/null
then echo "[$datestamp $timestamp] **** $genios NICHT ERREICHBAR ****" >> diffgenios.log
cp mail.template sendthismail.txt
cp diffgenios.log part2.txt
cat part2.txt >>sendthismail.txt
rm part2.txt
mail -s $subject -c $ccmail $mailto < sendthismail.txt
rm sendthismail.txt
echo "Mail an $mailto und $ccmail gesendet am $datestamp $timestamp" >mail.locked
echo "$datestamp,$timestamp,$t2,$t4,$t6" >>time-unreached.log
else
if test -e "mail.locked"
then
echo "[$datestamp $timestamp] **** $genios wieder ERREICHBAR ****" >> diffgenios.log
rm mail.locked
fi
echo "$datestamp,$timestamp,$t2,$t4,$t6" >>time-url.log
fi
rm checkout.html