6

Существует ли версия rsync которая работает в текущих версиях Windows и может обрабатывать имена файлов, отличные от ASCII? Каждая версия, которую я проверял (включая cwRsync и клиент rsync.net), с треском проваливалась для файлов с символами Unicode в именах.

Если такой версии rsync не существует, какой другой инструмент можно использовать для синхронизации файлов между Windows и Linux с эффективным использованием полосы пропускания?

Я синхронизирую большие, редко меняющиеся деревья файлов по относительно медленной ссылке. Разница между синхронизацией в стиле rsync и подходами полного копирования является существенной.

2 ответа2

8

rsync предлагает опцию --iconv для преобразования кодировки символов в имени файла. Он принимает аргументы для детального контроля над исходной и целевой кодировкой.

Со страницы руководства rsync:

[...] you can fully specify what conversion to do by giving a 
local and a remote charset separated by a comma in the 
order --iconv=LOCAL,REMOTE, e.g.  --iconv=utf8,iso88591.
2

Если вы пытались использовать DeltaCopy, то получите Cygwin с поддержкой UTF-8 (= cygwin1.dll) с http://www.oki-osk.jp/esc/utf8-cygwin/ . Решение было обязательно для японцев, и они имели это по крайней мере с 2006 года.

Распакуйте двоичный файл DLL, используя 7zip дважды. Затем удалите оригинальный файл cygwin1.dll из папки программы DeltaCopy и поместите вместо него новый. Осторожно: старое и новое имеют абсолютно одинаковый внешний вид. Держите это ясно, какой из них является новым. После изменения dll в клиенте и сервере, передача работает нормально между двумя компьютерами Windows. К сожалению, клиентская консоль отображает бред, когда она пытается показать какое-то имя файла с многобайтовыми символами UTF-8, но трансмиссия работает.

Я не пробовал, что произойдет, если на сервере резервного копирования установлен Linux или какой-либо другой UNIX-сервер (например, Nas4Free) и исправлен только клиент на компьютере с Windows.

Очевидно, что Rsync обрабатывает UTF-8, но Cygwin - нет. В Cygwin от DeltaCopy имена файлов UTF-8 сначала пишутся с ошибками, а когда пытаются создать копию файла, файл кажется исчезнувшим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .