- Registriert
 - 3. Dezember 2010
 
- Beiträge
 - 66
 
- Reaktionspunkte
 - 19
 
- Punkte
 - 355
 
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: