Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 17. Nov 2018 20:32

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 21. Mär 2007 12:57 
Hi all!

Ich habe ein kleines shellscript dass via cronjob regelmäßig durchläuft.
in dem Script werden ganz simpel mit wget einige Seiten aufgerufen, die dann lokal gespeichert werden.
Sieht beispielsweise so aus (URL geändert):
Code:
date=`date '+%F'`

#Homepage - Events today - workshops (NewsindexTeaser)
URL1="http://xxx.xxx.de/tools/export.py?fid=14&date=$date&days=1&event=conference&of=xml"
wget -O news1.xml "$URL1" 
Funktioniert auch klasse. Er überschreibt bei jedem Durchlauf die file. Allerdings kam es in letzter Zeit leider vor, dass der Server auf dem die Seite aufgerufen wird down war.

wget versucht es dann standard mäßig 20mal

Beispiel output:
Code:
--11:10:11--  http://xxx.xxx.de/tools/export.py?fid=14&date=2007-03-21&days=365&event=conference&of=xml
  (try:12) => `news6.xml'
Connecting to xxx.xxx.de[xxx.xxx.5.58]:80... connected.
HTTP request sent, awaiting response...
Read error (Connection reset by peer) in headers.
Retrying.
Er bekommt 20x mal nen Read error und sagt dann "Giving up". Dann überschreibt er jedoch leider die file mit leerem Inhalt!

Ich suche eine unless-abfrage. Also irgendsowas am Anfang "unless output=ERROR"

so dass er das script nur durchläuft wenn der Server erreichbar ist. Wenn nicht soll er die files im alten Zustand lassen - besser alte Infos als gar keine ;)

Hoffe mir kann einer helfen!

Greeetz Basti


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22. Mär 2007 8:56 
Offline

Registriert: 03. Mär 2006 23:16
Beiträge: 430
Hallo,

wenn Du die Option '-O news1.xml' weglässt, und stattdessen '-N (--timestamping)' benutzt?

Du könntest Dir auch mal das Skript update-pciids ansehen, da wird der Download in einen Test eingebunden:
Code:
...
	DL="wget -O $DEST.new $SRC"
...
if ! $DL ; then
	echo >&2 "update-pciids: download failed"
	rm -f $DEST.new
	exit 1
fi
...

_________________
mfg komsomolze


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 23. Mär 2007 15:28 
Habe es nun wie folgt gelöst:
Code:
#!/bin/sh

cd /afs/...

date=`date '+%F'`

#Connection check
URL_check="http://xxx.xxx.de/tools/export.py?fid=14&date=$date&days=1&event=conference&of=xml"
wget -t 1 -O check.xml "$URL_check" -o check.log


#Ausführen nur wenn kein 'ERROR' oder 'Giving up' in check.log gefunden wird
err=`grep -i 'Giving up' check.log | wc -l`
err2=`grep -i ERROR check.log | wc -l`


if [ $err == 0 ] && [ $err2 == 0 ]; then

	#Homepage - Events today - workshops (NewsindexTeaser)
	URL1="http://xxx.xxx.de/tools/export.py?fid=14&date=$date&days=1&event=conference&of=xml"
	wget -O news1.xml "$URL1"

	#Homepage - Events today - seminars (NewsindexTeaser)
	URL2="http://xxx.xxx.de/tools/export.py?fid=14&date=$date&days=1&event=simple_event&of=xml"
	wget -O news2.xml "$URL2"

	#Homepage - Upcoming Seminars (NewsindexTeaser2)
	URL3="http://xxx.xxx.de/tools/export.py?fid=14&date=$date&days=12&event=simple_event&of=xml"
	wget -O news3.xml "$URL3"

....

fi


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de