Как работает опция -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 
  • Разрешения файловой системы: пользователь, который может создавать резервные копии всех файлов
  • Как создавать резервные копии файлов теневого копирования / etc / {, g} с разрешением 0000?
  • Как сделать резервную копию всех моих данных?
  • удалить .gitignored файлы с помощью rsync
  • sbopkg не работает с прокси-сервером
  • rsync bash скрипт "не удалось установить"
  • Укажите идентификационный файл (id_rsa) с помощью rsync
  • Возможно ли синхронизировать дату реального времени от источника к месту назначения?
  • rsync для удаленного сервера без пароля
  • `mv` потерпел неудачу из-за недостаточного дискового пространства, что теперь?
  • как заставить rsync делать жесткие ссылки на исходный каталог, а также создавать резервные копии измененных файлов?
  • Interesting Posts

    Использование Atlas от scipy

    Резервное копирование загрузочных записей, метаданных разделов и данных в один файл архива

    Понимание aide.db

    Получить общее имя (CN) из сертификата SSL?

    Разница между «.» И «./» при установке переменных среды с использованием экспорта?

    Как принять абсолютное значение с помощью awk?

    Неужели RPM автоматически повторяет попытки загрузки?

    Как я могу записать необработанные данные на USB-устройство

    Как я могу сделать вывод по умолчанию для цветового кодирования bash?

    Почему я могу ping google.com, но не www.google.com

    Как разрешить www-data создавать папку, не предоставляя доступ для чтения к родительской папке

    Перенаправление трафика вторичного сетевого интерфейса вместе с переадресацией портов на tun0 (OpenVPN) с использованием iptables

    Как отображать «доступные для человека» размеры файлов в результатах поиска?

    Как открыть терминал без bash или других запущенных процессов

    Предупреждение в виртуальной консоли

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