Как сохранить постоянную связь rsync через SSH - без разорванной трубы


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

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

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

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

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.