как заставить rsync делать жесткие ссылки на исходный каталог, а также создавать резервные копии измененных файлов?

У меня есть два резервных каталога, которые живут на одной файловой системе на моем резервном сервере. Первый называется «клон» – он содержит клон моего ноутбука, который удаленно обновляется каждую ночь через rsync. Второй называется «резервным», это еженедельный rsync-снимок только важных частей клона. Чтобы сэкономить место, «резервная копия» создается как жесткие ссылки для клонирования вместо копий, используя -link-dest:

rsync -avum --link-dest=/clone /clone/ /backup 

Теперь я также хочу использовать опцию –backup для копирования старых версий измененных файлов из резервной копии в зону ожидания, если они мне нужны или случайно удалить что-то важное. Это отлично работает без -link-dest:

 rsync -avumb --backup-dir=/holding/2016_10_22 /clone/ /backup 

Тем не менее, это создает копии измененных файлов в резервной копии, теряя пространство – мне нужны жесткие ссылки. Но если я добавлю партию -link-dest обратно в:

 rsync -avumb --backup-dir=/holding/2016_10_22 --link-dest=/clone /clone/ /backup 

… затем резервные копии только удаленных файлов. Измененные файлы жестко связаны друг с другом. Причина (я считаю) заключается в том, что -link-dest разделяет логику -copy-dest. Т.е., если исходный файл не изменяется относительно файла copy-dest (или link-dest), то он не передается, а копируется / связывается из каталога copy / link-dest в целевой каталог. Поскольку я использую исходный каталог в качестве каталога link-dest, все неиспользуемые файлы «неизменны» и обрабатываются молча.

Я мог бы сделать это в два этапа: сначала –backup без -link-dest, затем снова –link-dest без –backup. (Более новые версии rsync заменят одинаковые файлы жесткими ссылками.) Но я бы предпочел сделать все это сразу.

Есть ли способ сделать -backup, только создавая жесткие ссылки? (На самом деле я хочу «регулярный» rsync с жесткой привязкой вместо передачи файлов. Мое использование -link-dest кажется немного взломанным, учитывая предполагаемую логику этого параметра.)

Бонусный вопрос: на странице руководства указывается, что использование -link-dest только для пустых целей является предпочтительным:

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

Немного о детализации получения «путаницы» немного расплывчато. Использует ли ссылка -link-dest на непустой цели действительно «опасно», полагая, что меня не слишком беспокоят атрибуты файлов? Может ли кто-нибудь привести пример?

Interesting Posts

Как неисправное оборудование вызывает ошибку страницы ядра (фатальная ловушка 12)?

Как завершить работу и перезапустить dirmngr?

Найдите и укажите измененную дату и время файла

Где хранятся «заголовки» для других языков?

Почему невозможно получить доступ к WWW-файлам для sshfs mount?

Может ли rsync копировать файлы без данных?

Как установить Moonlight в Chrome в Linux?

Как добавить программу Windows (под Wine), которая не имеет установщика?

KDE4 не заканчивает загрузку

Переслать электронную почту, но изменить адрес FROM

TCP-потоки, сосуществующие с UDP при использовании SFQ (стохастическая честная очередь)

Почему cpuinfo_cur_freq и / proc / cpuinfo сообщают о разных номерах?

Как разрешить предупреждение о небезопасности в Swapon?

Shell Script: используйте «find» для запуска оболочки команду, содержащую «имя файла» (без расширения), возвращенную из «find»,

Какую ссылку я должен использовать для home- & owncloud-data?

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