Возобновить rsync по SSH после поврежденного соединения?

Я должен перевести большие объемы данных (> 80 ГБ) по ssh, использующему rsync. Все хорошо работает, но соединение DSL, куда данные резервного копирования отправляется от, отбросит один раз в 24-й в течение максимум 3 минут (переключающий поставщиков, не опция).

Как делают меня:

  1. Автоматически перезапустите передачу, когда соединение вернется?

  2. Удостоверьтесь, что нет случайно двух команд rsync, работающих одновременно?

46
задан 28.08.2012, 13:25

0 ответов

Полезно будет следующее:

#!/bin/bash

while [ 1 ]
do
    rsync -avz --partial source dest
    if [ "$?" = "0" ] ; then
        echo "rsync completed normally"
        exit
    else
        echo "Rsync failure. Backing off and retrying..."
        sleep 180
    fi
done

Когда соединение прервется, rsync выйдет с ненулевым кодом выхода. Этот скрипт просто продолжает повторять rsync, позволяя ему продолжать до тех пор, пока синхронизация не завершится нормально.

.
53
ответ дан 07.12.2019, 08:36

Теги

Похожие вопросы