У меня есть сервер облачного хранилища, который я хотел бы синхронизировать с несколькими компьютерами. У меня есть доступ через rsync, SFTP или WebDAV, но нет доступа к оболочке. Поэтому я не могу запустить Unison на сервере. Моим первым решением с использованием lsyncd и cronjobs была неправильная синхронизация удаленных файлов.
Я наконец-то нашел следующее решение: я монтирую свое облачное хранилище через sshfs в локальную точку монтирования /mnt /cloud и использую Unison для синхронизации этого каталога с локальным каталогом ~ /cloud. Я запускаю unison при запуске (через /etc /rc .local) с опцией -repeat watch. Чтобы убедиться, что он продолжает работать, я убиваю все процессы unison и перезапускаю Unison cronjob каждые 2 часа.
Это прекрасно работает, когда монтируется sshfs. Кажется, что если соединение разрывается, монтирование sshfs либо остается в кеше, либо полностью пустым (что приводит к завершению работы Unison с ошибкой).
Мой вопрос: безопасно ли это решение при разрыве соединения? Или есть какой-то сценарий, в котором обрыв соединения с монтированием sshfs может привести к удалению файлов Unison, потому что он их не находит?
Есть ли лучший способ надежной двусторонней синхронизации нескольких компьютеров (включая удаление файлов), если у меня нет доступа к серверу в оболочке?