NeXus6
Premium
- Registriert
- 3. Dezember 2010
- Beiträge
- 66
- Reaktionspunkte
- 19
- Punkte
- 28
Bestes Forum,
habe dieses Shell Script gefunden und würde es gerne auf meiner FritzBox 7590 laufen lassen, um diverese Webseiten zu monitoren.
Nachdem ich die Pfade (/var/mod/home/Superblond) entsprechend angepasst habe, läuft das Script leider trotzdem so nicht auf der FB.
Rechte zum Ausführen & Lesen sind auf Datei und Orderebene gesetzt.
Fehlermeldungen:
Kann das jemand anpassen, modifizieren, so das es auf Fritz-Umgebung läuft?
Besten DAnk & Grüße
SB
habe dieses Shell Script gefunden und würde es gerne auf meiner FritzBox 7590 laufen lassen, um diverese Webseiten zu monitoren.
Sie müssen registriert sein, um Links zu sehen.
Bash:
#!/bin/bash
# Website status checker. by ET (etcs.me)
WORKSPACE=/scripts/isOnline
# list of websites. each website in new line. leave an empty line in the end.
LISTFILE=$WORKSPACE/websites.lst
# Send mail in case of failure to. leave an empty line in the end.
EMAILLISTFILE=$WORKSPACE/emails.lst
# Temporary dir
TEMPDIR=$WORKSPACE/cache
# `Quiet` is true when in crontab; show output when it's run manually from shell.
# Set THIS_IS_CRON=1 in the beginning of your crontab -e.
# else you will get the output to your email every time
if [ -n "$THIS_IS_CRON" ]; then QUIET=true; else QUIET=false; fi
function test {
response=$(curl -L --write-out %{http_code} --silent --output /dev/null $1)
filename=$( echo $1 | cut -f1 -d"/" )
if [ "$QUIET" = false ] ; then echo -n "$p "; fi
if [ $response -eq 200 ] ; then
# website working
if [ "$QUIET" = false ] ; then
echo -n "$response "; echo -e "\e[32m[ok]\e[0m"
fi
# remove .temp file if exist
if [ -f $TEMPDIR/$filename ]; then rm -f $TEMPDIR/$filename; fi
else
# website down
if [ "$QUIET" = false ] ; then echo -n "$response "; echo -e "\e[31m[DOWN]\e[0m"; fi
if [ ! -f $TEMPDIR/$filename ]; then
while read e; do
# using mailx command
echo "$p WEBSITE DOWN" | mailx -s "$1 WEBSITE DOWN ( $response )" $e
# using mail command
#mail -s "$p WEBSITE DOWN" "$EMAIL"
done < $EMAILLISTFILE
echo > $TEMPDIR/$filename
fi
fi
}
# main loop
while read p; do
test $p
done < $LISTFILE
Rechte zum Ausführen & Lesen sind auf Datei und Orderebene gesetzt.
Fehlermeldungen:
Code:
root@fritz:/var/mod/home/Superblond# sh checker.sh
: not found line 3:
: not found line 5:
: not found line 12:
checker.sh: line 18: syntax error: unexpected word
Besten DAnk & Grüße
SB
Zuletzt bearbeitet von einem Moderator: