Способен ли rsync учитывать перемещенные файлы для обновления их местоположения при выполнении синхронизации?

Судя по справочной странице mount(2), я не думаю, что вы можете сделать это напрямую. Системный вызов не использует путь, который использовался бы для рассмотрения поддерева смонтированной файловой системы. Есть только исходное устройство, целевой путь, тип файловой системы, флаги монтирования (, общие параметры, такие как roи nosuid), и непрозрачное поле data, которое интерпретируется самой файловой системой (файловой системой -. ] специальные опции ).

Кажется, вам нужно смонтировать устройство по временному пути, затем смонтировать нужное поддерево и, наконец, размонтировать первую файловую систему. Помимо размонтирования, вы можете сделать это из fstab. Нечто подобное работало в Ubuntu (с systemd ):

.

# fstab
/dev/somedevice      /tmpmnt      ext4      auto,rw
/tmpmnt/var          /var         none      auto,bind

0
22.07.2019, 04:50
1 ответ

Нет, rsync не обнаруживает, что файл был перемещен, только то, что файл был удален, а другой был создан.

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

Если вы хотите, чтобы старый экземпляр файла был удален, вам потребуется один из вариантов --delete.

2
28.01.2020, 02:39

Теги

Похожие вопросы