Привет всем!
Подскажите, какие есть альтернативы для rsync в плане синхронизации большого количества файлов с большим количеством жёстких ссылок на удалённый компьютер с доступом по ssh?
У меня есть локальная резервная копия рабочих данных. Точнее можно сказать, это несколько снимков по датам, которые создаются с помощью команды rsync и опции --link-dest=. Т.е. за счёт использования жёстких ссылок, занимаемое место ровняется объёму одной копии, плюс разницы между копиями, но при этом я получаю несколько снимков состояния в разное время. На данный момент хранится 4 копии, за 4 дня, но это не суть.
Теперь я это хочу синхронизировать на удалённый компьютер по ssh. Но с rsync есть проблема, т.к. опция --hard-links работает только в рамках одной сессии синхронизации, про что написано в мануале: Note that rsync can only detect hard links between files that are inside the transfer set. В моём случае это не вариант, т.к. объём данных достаточно большой, и интернет соединение точно будет разорвано ещё до передачи всех данных. Да и в рамках одной сессии это работает недостаточно надёжно, о чём написано, например, тут: https://serverfault.com/questions/363670/rsync-avzhp-follows-hardlinks-instead-of-copying-them-as-hardlinks (есть некоторый лимит отслеживаемых ссылок, после которого перестаёт работать) Т.е. связанность распадается и я получаю в четыре раза больше передаваемых и хранимых данных. Это очень нехорошо, т.к. на целевом сервере ограничен трафик и место.
Ещё хочу уточнить, что резервную копию я делаю не непосредственно с локальных данных, а через gocryptfs в реверсивном режиме. Т.е. локальные данные у меня доступны как есть, а в точке монтирования gocryptfs они представлены в зашифрованном виде. Однако, насколько я могу судить, проблема не в gocryptfs, т.к. stat для разных путей, что ведут к одним и тем же данным, показывает точно один и тот же inode. Получается, что проблема именно в rsync.
Чем бы его заменить?



