PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shellscript zur Zeitmessung mit Nachkomma



22-11-2000, 11: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

thommy
23-11-2000, 08:16
Ist etwas verzwickt, aber folgende Zeile zeigt das Prinzip:

<pre>
var=$({ time -p sleep 1;} 2>&1| grep real | cut -b 6-)
</pre>

In $var steht jetzt die gemessene Realzeit (Posix-Format).

Thomas

23-11-2000, 09:16
Dank Dir für Deine Antwort ... hat mir jetzt gut weitergeholfen ...

ich wäre beinahe daran verzweifelt ... :/

Gruss,

Markus