6

Я пытаюсь запустить rsync на общем сервере, который не контролирует файл ssh-config, чтобы предотвратить ошибку сломанного канала из-за разрыва соединения.

Вот фрагмент кода, который я использую для резервного копирования

rsync -avz --blocking-io --delete-after --exclude 'mail *' /home user @ remote:./ резервная копия / ежемесячно /

Использование этого прекрасно работает около 10 минут. появляется сообщение об ошибке «сломанный канал», который говорит мне, что я потерял соединение ... возможно, из-за того, что rsync работает в режиме ожидания по SSH, поэтому SSH считает, что я ничего не делаю, пока rsync работает.

Я пробовал с и без --blocking-io, но соединение все еще падает. Есть ли у них какой-то трюк, чтобы поддерживать сеанс SSH, пока rsync не завершится, не имея доступа к файлу ssh-config?

1 ответ1

1

Это работает, если вы используете OpenSSH.

Отредактируйте файл ~/.ssh/config и добавьте следующее, чтобы активировать систему keep-alive только для вашего пользователя для всех подключенных хостов.

Если вы хотите сделать это только для одного хоста, переключите * с именем хоста по вашему выбору.

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .