Использование rsync для синхронизации папок без перезаписи файлов с одинаковыми именами в Mac OS X

Использование rsync для синхронизации папок без перезаписи файлов с одинаковыми именами в Mac OS X

Я хотел бы синхронизировать содержимое двух каталогов.

  • Без перезаписи, но для создания копии, если два файла имеют одинаковое имя, но разный размер
  • Без дублирования, если два файла имеют одинаковое имя и размер.
  • Работать рекурсивно

Пока что я нашел следующую команду, которая может сработать

 $ rsync -varE --progress ~/folder /volumes/server/folder

Но я не совсем уверен, что -Eделает этот флаг. Он был предложен пользователем на bananica.com, но не смог найти его описание в руководстве. Будет ли это успешно делать то, что мне нужно?

решение1

-E на самом деле сохраняет расширенные атрибуты в OS X, но -a (--archive) подразумевает -p (--perms), что подразумевает --executability.

-b (--backup) добавляет тильду в конец файлов, которые обычно перезаписываются:

rsync -ab ~/folder /Volumes/server/

-b --suffix _oldпереименовал бы file.txt в file.txt_old

rsync по умолчанию сравнивает как размеры файлов, так и время их изменения. --size-only сравнивает только размеры. -c сравнивает контрольные суммы, но это медленнее.

Связанный контент