2012-10-17 12 views
13

Ich habe es mit einem beschissenen ISP zu tun, der meine WAN-Verbindung an zufälligen Punkten zurücksetzt, während mein Skript läuft. Ich möchte, dass der Transfer diesen Reset überlebt und weiter geht. Ich starte dieses Script vs. mit cron/launchd.Rsync über SSH - Timeout in ssh oder rsync?

Ich habe ein ziemlich einfaches Skript wie folgt:

rsync -rltv --progress --partial -e "ssh -i <key> -o ConnectTimeout=300" <remotedir> <localdir> 

Bin ich besser dran, anstatt den Timeout im rsync Abschnitt setzen?

Zum Beispiel:

rsync -rltv --progress--partial --timeout=300 -e "ssh -i <key>" <remotedir> <localdir> 

Dank!

Antwort

14

ConnectTimeout gilt nur, wenn SSH versucht, die Verbindung mit dem Server herzustellen, es hat nichts mit Timeouts während der Datenübertragung zu tun. Also müssen Sie die Option --timeout verwenden, um zu tun, was Sie wollen.

0

Versuchen Sie, das rsync erneut auszuführen. Versuchen Sie auch ohne die Option ssh. Der Job ist möglicherweise aufgrund des Verlusts der Netzwerkverbindung fehlgeschlagen. Ich habe einen rsync Job, der Dateien zwischen Datencentern kopiert, die alle 2 Stunden über Cron laufen und es ungefähr einmal pro Tag ausfallen wird.