PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit WGet



Furzeimer
24.11.01, 16:21
Hi Leutz,

ich habe folgendes Problem mit WGet.

Es gibt FTP Server, bei denen nur eine bestimmte Anzahl an User zu einem Zeitpunkt erlaubt sind.

Versucht nun WGet sich zu einem bestimmten Zeitpunkt einzuloggen, an dem sich schon zu viele User eingeloggt haben, so beginnt Wget den Download der Dateien nicht. Anders als bei FTP Clients unter Windows versucht Wget nicht einige Sekunden su warten, um dann einen erneuten Connectversuch zu unternehmen.

Auch mit der Option -t kann dies nicht umgangen werden.

Wie schaffe ich es nun, daß Wget solange versucht zu connecten, bis es erfolgreich ist und erst dann mit dem Download beginnt?

Help, i need somebody...

Furzeimer

anda_skoa
24.11.01, 18:57
Hi!

Laut Doku sollte es schon mit dem -t switch gehen.
Welchen Wert benutzt du dort?

Eventuell mit --waitretry kombiniieren um den neuen Versuch erst nach einer gewissern zeit zu versuchen.

Ciao,
_

Furzeimer
24.11.01, 22:57
Hmm,

geht leider alles nicht.

Das Problem ist, das es ja keinen Timeout der Verbindung gibt, sondern, daß ein Errorcode vom Server gesendet wird.

Diesen Errorcode interpretiert Wget allerdings als die Eingabe eines falschen Passworts. Das Passwort ist aber definitiv richtig.
Mit flashFXP unter Windows komme ich ohne Probleme nach einigen Reconnectversuchen auf den Server.

Was nun?

Bis denne

Furzeimer

anda_skoa
24.11.01, 23:51
Hmm.
:confused:

Probiers mal mit folgendem shell script:
--snipp--
#!/bin/bash

while [ ! `wget http://localhost/index.html` ]; do
echo sleeping
sleep 3
echo retry
done;

--snipp--

Den wget Aufruf entsprechende deinen Bedürfnissen anpassen.

Die while schleife sollte laufe, bis wget mit Status OK beendet.

Ciao,
_

ElDiablo666
11.01.02, 17:37
download.sh :

#!/bin/bash

while [ ! `./wget -c --tries=0 ftp://name:passwort@adresse/ordner/*` ]; do
echo sleeping
sleep 3
echo retry
done;

Und ich bekomme
./download.sh: [!: command not found
oder wenn ich das Leerzeichen zwischen dem ! und dem ' entferne bekomme ich
./download.sh: [!./wget -c .........ordner/*]: No such file or directory

:confused: :(

anda_skoa
11.01.02, 23:30
Ich denke du hast kein Leerzeichen vor dem !


[ ! `


Außerdem brauchst du das ./ vor wget nur, wennd as whget executable im selben Verzeichnis ist.

Ciao,
_

ElDiablo666
12.01.02, 15:14
Dann beendet er sich sofort!

Das ist eine Kopie des Scripts:

#!/bin/bash
while [ ! './wget -c --tries=0 ftp://name:passwort@ftp-adresse/ordner/*' ]; do
echo sleeping
sleep 30
echo retry
done;

Und ich starte den Script und er beendet sich sofort bekommt also sofort TRUE zurück!

Das wget liegt in dem Verzeichnis, weil es eine neuere Version ist.
Und den Smily und das blöde url da natürlich wegdenken... :D

anda_skoa
12.01.02, 19:17
Ok, die Eckigne Klammern sind das Problem.
Ich scheine das beim ersten Mal nicht richtig getestet zu haben :(



#!/bin/bash

while ! `./wget -c --tries=0 ftp://name:passwort@adresse/ordner/*` ; do
echo sleeping
sleep 3
echo retry
done;


Ich hoffe jetzt gehts.

Btw, url und grafische smiles lassen sich deaktivieren
Direkt unterhal des Eingabebereichs.

Ciao,
_

ElDiablo666
14.01.02, 13:35
Also ein Problem war, daß ich ' benutzt habe und nicht `als Anführungsstriche!

Aber der neue Script funktioniert aber ich habe eben wieder erfahren, daß er erneut nicht wieder anfängt weiter zu downloaden! :mad:
Ist WGet da so doof und gibt trotzdem ein TRUE zurück? :(
Oder lief Dein erster Script doch mit den anderen ` und der neue macht das nicht richtig?
Ich bin gerade nicht Zuhause aber dann werde ich sehen, warum er wieder nicht weiter downloaded und das hier posten...

anda_skoa
14.01.02, 18:06
Ja, backticks sind wichtig!

Vielleicht hängt das auch von der bash version ab :(

Ich war beim ertsen script der Meinung es geht, aber dann gings ja doch nicht.

Das ohne die eckigen Klammern schien aber zu funktionieren.

Ich hab aber den Fehlerfall mit einer RL zu einem nicht existierenden Dokument getestet.
Kann sein, dass wget anders abbricht, wenn er sich nicht einloggen kann.

Ciao,
_

ElDiablo666
14.01.02, 18:15
Connection refused kam hier nur!
Also WGet sollte dann einfach weiter versuchen das muss doch möglich sein!
Ich habe die eckigen Klammern wieder drin und teste das...

:( :( :(

ElDiablo666
16.01.02, 08:28
Jetzt lief der Script weiter, obwohl der Download fertig war!

Entweder ist im Script ein Fehler drin oder WGet liefert einfach nicht TRUE zurück!

HILFE!!!

Gibt es denn da keine Lösung? :(