Назад | Перейти на главную страницу

Унисонная синхронизация монтирования sshfs - что может пойти не так, если соединение прервется?

Я синхронизирую локальный каталог (скажем, "/ local") с сервером облачного хранилища с помощью Unison. Облачное хранилище монтируется, скажем, в «/ mnt» через sshfs (без опции кеширования), и я синхронизирую два каталога / local и / mnt с Unison локально. [У меня нет корневого доступа к серверу, и Unison не установлен на сервере, поэтому настоящая удаленная синхронизация с Unison невозможна.]

Короче говоря, я ищу безопасный способ синхронизации локальных каталогов нескольких компьютеров с сервером (включая правильную обработку удаленных файлов).

Я предполагаю, что синхронизация Unison между локальными каталогами в принципе безопасна, если с соединением ничего не происходит. Но что делать, если соединение sshfs прерывается во время работы Unison? К сожалению, я недостаточно хорошо понимаю, как работают sshfs-соединения, чтобы судить о риске потери данных.

Предположим, Unison находится в процессе записи измененного файла в / mnt, когда соединение прерывается. Будет ли он завершен с ошибкой (что, я полагаю, будет безопасным)? Я опасаюсь, что он продолжает писать в / mnt, хотя соединение разорвано, а затем отмечает файл как успешно переданный в своем архиве, хотя на самом деле файл не был записан на сервер. Могло ли такое случиться?

Как насчет процессов чтения? Кажется, что когда я отключаюсь, когда Unison читает / mnt, он всегда выдает сообщение об ошибке, что / mnt был полностью очищен (хорошо!). Но существует ли ситуация, в которой он может получить информацию о том, что отсутствует только часть данных в / mnt, а затем ошибочно предположить, что эти файлы были удалены?

РЕДАКТИРОВАТЬ: Прочитав руководство Unison еще раз, я узнал о параметре «точка монтирования». Однако, как говорится в руководстве, Unison проверяет наличие точки монтирования только один раз после обнаружения обновлений. Так что я все еще вижу риск того, что что-то пойдет не так, если соединение прервется во время передачи файла.

РЕДАКТИРОВАТЬ2: По сути, мой вопрос такой же, как этот - казалось бы, без ответа - вопрос в списке рассылки fuse sourceforge: https://sourceforge.net/p/fuse/mailman/message/1605382/