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

rsync compare-dest без атрибутов

Я сравниваю удаленную папку с локальной папкой и копирую только различия файлов в новую папку.

Вот что я использую:

rsync -ac --compare-dest=/folder/ rsync://remote/folder/ new-folder/

Моя проблема в том, что он также копирует файлы, в которых атрибут, как в моем случае, отличается от времени модификации.

Сначала я подумал --checksum исправит мою проблему, но, как указано на странице руководства Rsync:

--compare-dest=DIR
Если в DIR найден файл, идентичный файлу отправителя, он НЕ будет передан в каталог назначения ... Если найдено совпадение, которое отличается только атрибутами, создается локальная копия и атрибуты обновляются....

Есть ли способ опустить часть проверки атрибутов? Другими словами, синхронизировать файлы только в том случае, если их контрольная сумма отличается?

Примечание: Я хочу сохранить атрибуты, если контрольная сумма файла отличается (--archive).


Редактировать: На данный момент я выбрал обходной путь: сначала проиндексировал различия с помощью пробного запуска.

rsync -acn --out-format="%n"  rsync://remote/folder/ /folder/ > index_file
sed -i '/\/$/d' index_file  # Ignore folders

И затем синхронизировать только те

rsync -a --files-from=index_file rsync://remote/folder/ new-folder/

Но мне все еще интересно, можно ли добиться того же за один раз с помощью чего-то вроде --compare-dest.