Подтвердить что ты не робот

Rsync через SSH - тайм-аут в ssh или rsync?

Я имею дело с дрянным провайдером, который сбрасывает мое WAN-соединение в случайных точках, пока работает мой script. Я хочу, чтобы передача выдержала этот reset и продолжила. Я вручную запускаю этот script vs с помощью cron/launchd в настоящее время.

У меня довольно простой script, как показано ниже:

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

Лучше ли я использовать тайм-аут в разделе rsync?

Например:

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

Спасибо!

4b9b3361

Ответ 1

ConnectTimeout применяется только тогда, когда SSH пытается установить соединение с сервером, он не имеет никакого отношения к таймаутам во время передачи данных. Поэтому вам нужно использовать опцию --timeout, чтобы делать то, что вы хотите.

Ответ 2

Попробуйте перезапустить rsync. Также попробуйте без опции ssh. Возможно, работа закончилась из-за потери сетевого подключения. У меня есть работа rsync, копирующая файлы между центрами обработки данных, работающими каждые 2 часа через cron, и он будет терпеть неудачу один раз в день.