LINUX.ORG.RU

Двунаправленный синхронизатор файлов, не перебивающий жесткие ссылки. Есть такой?

 , , ,


0

2

Добрых суток, ЛОР.

Есть ли готовые решения для обоюдонаправленной синхронизации каталогов, что не перетирали бы жестких ссылок? (Жесткая ссылка — это ссылка с имени файла на номер inode’а, если кто в танке.) Иначе говоря, не делали бы unlink(2)’ов кроме случаев, когда файл должен быть удален.

rsync(1) так умеет — --inplace, но он однонаправленный.

unison(1) же ультимативно удаляет файлы, мотивируя это требованием об атомарности операций над рабочим деревом: то есть содержимое сначала копируется под временное имя, затем рабочий файл удаляется и временный файл переименовывается.

Это дело хорошее, но меня бы вполне удовлетворил и рисковый подход с записью по месту. А еще лучше — какой-нибудь компромисс, типа создания резервной копии перед началом записи по месту.

Однако после непродолжительного поиска у меня сложилось впечатление, что пригодных к использованию синхронизаторов, кроме «Унисона», и вовсе нет? Это правда?

★★★★★

Последнее исправление: Zmicier (всего исправлений: 1)

Можно rsync запускать дважды - туда и обратно.

Хотя я не понимаю, как в такой системе с любым синхронизатором удалять файлы - при мастер-мастер репликации в СУБД есть журнал, где имеются записи об удаления. На голой ФС информации об удалённом файле нет, поэтому синхронизатор типа мастер-мастер будет всегда восстанавливать файлы, если не удалить их одновременно с обоих сторон.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

Понятно, что можно. И собственно вы сами же описали, почему это не будет работать.

Обоюдные синхронизаторы (тот же «Унисон») вынуждены хранить метаданные о прошлом, да.

Zmicier ★★★★★
() автор топика
Последнее исправление: Zmicier (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.