Я использую cw-rsync под Windows 7, чтобы каждый день копировать файлы с моей локальной машины на сервер rsync, работающий в системе Linux. Он работает нормально, за исключением того факта, что я не могу правильно исключить имена каталогов. Прямо сейчас в моем файле исключения у меня есть:
My Documents/
My Downloads/
Это работает, но также исключает любой каталог, называемый просто «Мои», «Документы» или «Загрузки».
Я пробовал использовать кавычки вокруг имен, но это не помогает. Любые идеи?
Фактически, я только что пробовал это с последней версией cygwin rsync, и вы правы. Используя файлы исключения, невозможно исключить папку с пробелами в ее имени. Однако он работает, чтобы исключить его содержимое, пока сама папка все еще синхронизируется.
Для тестирования я использовал следующее:
My\ Documents/*
Обратите внимание \
чтобы сбежать из космоса. Однако My Documents"
папка по-прежнему создается на целевой стороне, но остается пустой, даже если на исходной стороне есть некоторый контент.
Я обнаружил, что (по крайней мере, для Cygwin rsync) --exclude=
параметр корректно работает даже с пробелами:
rsync [...] --exclude='My Documents'
Просто исключает всю папку.
Таким образом, похоже, что вы, вероятно, столкнулись с ошибкой в анализе rsync для файлов исключения. Но используя --exclude=
параметр, вы можете обойти эту проблему - в худшем случае напишите свою собственную оболочку, читающую ваш исключаемый файл и назначив параметр исключения для каждой строки.