Как работает опция -fuzzy для rsync?

Как работает rsync --fuzzy ? Я не получаю ожидаемых результатов.

Из руководства:

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

Если опция повторяется, нечеткое сканирование также будет выполняться в любых сопоставляемых альтернативных каталогах назначения, которые задаются с помощью –compare-dest, -copy-dest или -link-dest.

Обратите внимание, что использование опции -delete может избавиться от любых потенциальных файлов с нечетким совпадением, поэтому либо используйте -delete-after, либо укажите некоторые исключения файлов, если вам нужно это предотвратить.

Таким образом, я ожидаю, что следующий сценарий оболочки переименует файл назначения / a1 в пункт назначения / a2 во второй прогон rsync. Однако, поскольку я интерпретирую вывод, это не то, что происходит ( Matched data: 0 bytes ).

 #! /usr/bin/env bash set -e cd $(mktemp -d) mkdir source destination cat /dev/urandom | head --bytes=1M > source/a1 rsync --recursive --times $(pwd)/source/ $(pwd)/destination/ tree mv source/a1 source/a2 rsync \ --verbose \ --recursive \ --times \ --delete \ --delete-after \ --fuzzy \ --human-readable \ --itemize-changes \ --stats \ $(pwd)/source/ \ $(pwd)/destination/ tree rm -r source destination 

Вывод:

 ├── destination │  └── a1 └── source └── a1 2 directories, 2 files building file list ... done >f+++++++++ a2 *deleting a1 Number of files: 2 (reg: 1, dir: 1) Number of created files: 1 (reg: 1) Number of deleted files: 1 (reg: 1) Number of regular files transferred: 1 Total file size: 1.05M bytes Total transferred file size: 1.05M bytes Literal data: 1.05M bytes Matched data: 0 bytes File list size: 0 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 1.05M Total bytes received: 34 sent 1.05M bytes received 34 bytes 2.10M bytes/sec total size is 1.05M speedup is 1.00 . ├── destination │  └── a2 └── source └── a2 2 directories, 2 files 

Выход rsync --version :

 rsync version 3.1.2 protocol version 31 Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, ACLs, xattrs, iconv, symtimes, prealloc rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. 

Как работает rsync --fuzzy ?

Почему я не получаю ожидаемых результатов?

One Solution collect form web for “Как работает опция -fuzzy для rsync?”

Вы используете rsync для копирования файлов между двумя локальными файловыми деревьями. Инкрементный алгоритм и все связанные с ним оптимизации, такие как --fuzzy , игнорируются в этом режиме.

Повторите тест, скопировав локальный файл на удаленный сервер (или удаленный на локальный, это не имеет значения), и вы обнаружите, что он работает должным образом.

Например, измените свой сценарий в обоих местах, например $(pwd)/destination на localhost:$(pwd)/destination . Это не изящно, но этого будет достаточно.

 # Set up PKI for localhost ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys ssh localhost id 

Результат скрипта из второго rsync :

 building file list ... done <f+++++++++ a2 *deleting a1 Number of files: 2 (reg: 1, dir: 1) Number of created files: 1 (reg: 1) Number of deleted files: 1 (reg: 1) Number of regular files transferred: 1 Total file size: 1.05M bytes Total transferred file size: 1.05M bytes Literal data: 0 bytes Matched data: 1.05M bytes File list size: 0 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 4.20K Total bytes received: 6.18K sent 4.20K bytes received 6.18K bytes 20.75K bytes/sec total size is 1.05M speedup is 101.09 
  • Как скопировать содержимое папки с файлами при сохранении структуры папок?
  • Скопируйте конкретный подкаталог и сохраните структуру дерева каталогов
  • Как я могу синхронизировать все PDF-файлы из одного каталога с Dropbox?
  • Каков эффект rsync -block-size на больших файлах?
  • Повреждение файлов с использованием rsync, нескольких процессов rsync, перемещение / переименование исходного файла
  • Rsyncing несколько файлов с пробелами в именах
  • беспроблемный доступ к rsync с ssh через cron
  • Регистрация только переданных файлов с помощью rsync
  • rsync -vvv застрял в OS X без четкого объяснения
  • Как rsync разрешает конфликты?
  • Не удается передать ssh-соединение с помощью rsync
  • Interesting Posts

    Установите другую версию Maven из версии, предоставленной Ubuntu

    Предотвращение потери данных (или восстановление) в mysql db во встроенных системах

    MC 4.8.13 использует Ctrl-Backspace для списка каталогов

    Когда использовать escape-код bash ANSI C, например $ '\ n'

    Почему «sshd Bad prime description» ошибки?

    Есть ли способ деактивировать защиту переполнения буфера на моей машине?

    Перенаправление вывода сценария на удаленный сервер через scp или ssh

    Локальные `set -e` для функций

    Установка XV на windows с использованием cygwin

    Linux HID-драйвер для клавиатуры, отправляющий 1 дополнительный байт

    Почему запуск firefox (из командной строки) в VM запускает firefox на главной машине и наоборот?

    Ошибка, постоянно отображаемая в терминале после установки ESET NOD32 для Linux 64 бит

    Как безопасно удалить каталог, не оставляя следа?

    Буферы / кеш файловой системы Ubuntu всегда пусты

    Почему назначения переменных bash влияют на последний код выхода $? и где это документировано?

    Linux и Unix - лучшая ОС в мире.