Я копирую множество файлов, которые изменились с одного сервера на другой, используя rsync. Я знаю, что могу использовать -n
опцию, чтобы выполнить пробный прогон, чтобы я мог видеть, какие файлы были изменены. Однако возможно ли заставить rsync распечатать разность содержимого файла, которое изменилось? Я хотел бы увидеть, что происходит, прежде чем делать копию? Что-то, что я могу сохранить в файл и применить с diff (1) позже?
19
rsync --diff
два года ...rsync не может сделать это изначально, но если есть возможность использовать unison, вы можете создать формат diff из этого.
источник
Для создания патча:
Для применения это:
или используйте автоматически сгенерированный скрипт:
Источники:
источник
Это невозможно изначально, потому что rsync заботится только о двоичных различиях между файлами.
Возможно, вы сможете написать его, используя вывод rsync. Но это было бы хакерским.
Я действительно верю, что это возможно с Unison .
источник
Почему бы просто не использовать что-то вроде diff (для текстовых файлов) или xdelta (для двоичных файлов) для генерации diff? Зачем вам нужно что-то конкретно из rsync?
источник
Чтобы расширить ответ Кайла, это автоматизирует процесс. Обратите внимание, что он полностью не проверен, возможно, довольно хрупок и может удалить ваш компьютер и убить вашу собаку.
источник
Алгоритм rsync работает путем сравнения двоичных фрагментов файла. Такой бинарный diff не предназначен для печати. Существует команда rdiff, которая использует алгоритм rsync для генерации двоичных различий, но я не думаю, что она будет полезна для того, что вы описываете, она обычно используется для создания инкрементных резервных копий.
источник