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

Невозможно исключить имена каталогов с помощью cw-rsync

Я использую 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= параметр, вы можете обойти эту проблему - в худшем случае напишите свою собственную оболочку, читающую ваш исключаемый файл и назначив параметр исключения для каждой строки.