Meddelande

Minska
No announcement yet.

Hjälp med bash script

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Hjälp med bash script

    Hej!

    Vi har haft en utvecklingsserver (LAMP m. Debian) på kontoret några månader nu och jag tänkte klämma lite mer nytta ur den via ett enkelt bash script som ska kontrollera om kunders servrar är tillgängliga men jag får inte till det riktigt.

    Själva kontrollen fungerar men variablerna index, count och sites är tomma trots att en server är nere. Vad har jag gjort för fel?
    Kod:
    #!/bin/bash
    
    FILENAME="/var/www/check_these_servers.txt"
    COUNT=0
    INDEX=0
    SITES=""
    
    cat $FILENAME | while read LINE
    do
    	if curl -s --head $LINE | grep "200 OK" > /dev/null
    		then 
    			echo "$LINE OK!"
    		else
    			echo "$LINE DOWN!"
    			# add count errors
    			COUNT=$[$COUNT + 1]
    			SITES="$LINE, $SITES"
    	fi
    	INDEX=$[$INDEX + 1]
    done
    	
    echo "$INDEX Servers checked, $COUNT servers failed ($SITES)"
    	
    if [ $COUNT -gt 0 ]
    	then
    		echo "Hej\n\nServrar ligger nere!\n\n\n$SITES" | mail -s "$COUNT server är nere" min.mai@foretaget.se
    fi

  • #2
    Motsvarande problem, med lösning och referens till manualen som förklarar detta "varable scope" problem finns t.ex på

    http://stackoverflow.com/questions/1...variable-scope

    Kommentera


    • #3
      Tack! Nu funkar det.

      Kod:
      FILENAME="/var/www/check_these_servers.txt"
      let COUNT=0
      let INDEX=0
      SITES=""
      
      while read LINE
      do
      	if curl -s --head $LINE | grep "200 OK" > /dev/null
      		then 
      			echo "$LINE OK!"
      		else
      			echo "$LINE DOWN!"
      			# add count errors
      			let COUNT++
      			SITES="$LINE\n$SITES"
      	fi
      	let INDEX++
      done < $FILENAME
      	
      echo "$INDEX Servers checked, $COUNT Servers failed"
      	
      if [ $COUNT -gt 0 ]
      	then
      		echo -e "Servrar offline!\n$SITES" | mail -s "$COUNT server(s) offline" min.mail@foretaget.se
      fi

      Kommentera

      Working...
      X