Shell Script - prüfen ob Server online ist

Danjel4u

Cadet 1st Year
Registriert
Mai 2007
Beiträge
15
Code:
if [ -s http://user:passwrt@user-server.de/www/apps/apps.tar.bz2 ]; then
	echo "Server Online"
else
	echo "Server Offline, bitte spaeter nochmal versuchen!"

fi

bekomme immer die Meldung Server ist Offline. Mit wget erhalte ich die Datei. Was mach ich falsch?
Ist ein teil von mein .sh Script.
 
Zuletzt bearbeitet:
Wie wär's mit

Code:
SERVER=google.com
ping -c 1 $SERVER >/dev/null 2>&1
if [ $? -ne 0 ] ; then
    echo "Server Offline, bitte spaeter nochmal versuchen!"
else
    echo "Server Online"
fi
 
Vielleicht meint er mit "Server" den entsprechenden Dienst auf dem Server. Hier würde sich netcat anbieten.
 
Brinox schrieb:
Wie wär's mit

Code:
SERVER=google.com
ping -c 1 $SERVER >/dev/null 2>&1
if [ $? -ne 0 ] ; then
    echo "Server Offline, bitte spaeter nochmal versuchen!"
else
    echo "Server Online"
fi

Gefält mit gut. Hätte gern versucht das dieser auch gleich prüft ob diese Datei vorhanden ist und auch nicht leer ist.
 
Um herauszufinden, ob die Datei leer ist, muss du sie zunächst per wget runterladen.
 
"-s" prüft zwar schon ob eine Datei existiert (und die Dateigröße > 0 ist), aber das funktioniert nur mit lokalen Dateien. Du kannst da nicht einfach eine URL angeben. Wie Brinox schon sagt, die Datei zuerst mit wget herunterladen, dann evtl. mit md5sum schauen ob es auch die richtige Datei ist. Nur mit "-s" die Existenz prüfen reicht meiner Meinung nach nicht. Wenn z.B. ein 404 auftaucht, ist die Datei auch größer als 0 Byte.
 
Auszug aus der wget Manpage:

Code:
 --spider
           When invoked with this option, Wget will behave as a Web spider,
           which means that it will not download the pages, just check that
           they are there.  For example, you can use Wget to check your
           bookmarks:

                   wget --spider --force-html -i bookmarks.html

           This feature needs much more work for Wget to get close to the
           functionality of real web spiders.

Das dürfte auch für URLs wie http://www.meineseite.de/malware.exe gehen. Der Server sollte allerdings nicht versuchen, auf einen andere Seite umzuleiten, wenn die Datei nicht existiert. 404 ist ok.
 
Zuletzt bearbeitet:
Zurück
Oben