
Я прочитал несколько тем по этой проблеме, но указанные там команды у меня все еще не работают.
Я пытаюсь синхронизировать файлы с помощью rsyncпапка1(содержащий подпапкуа) кпапка2(содержащийаиб) без наличия папкибудалено. Однако следующая команда его удаляет:
rsync -av --exclude folder2/b/ --delete folder1/ folder2/
Другие варианты, такие как абсолютные пути или слеши, без слешей тоже не работали. И это несмотря на то, что это должна быть в основном та же команда (за исключением имен папок), что и в этомнить.
Есть у кого-нибудь идеи?
решение1
В варианте исключения достаточно указать только b.
Не могли бы вы попробовать следующую команду, которая у меня работает правильно.
rsync -av --exclude b --delete папка1/ папка2/
edit: Для надежности очень полезна опция -n. Она делает пробный прогон того, что будет добавлено и удалено.
решение2
Я бы не пытался избежать удаления таким образом. Вместо этого я бы rsync дочерних папок. Поэтому, чтобы скопировать a и не трогать b, я бы сделал что-то вроде:
rsync -av --delete folder1/a folder2/a
Повторите эти действия для всех необходимых папок.