как заставить 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

Найти файлы, для которых несколько вариантов этого имени файла существуют вместе в одном каталоге

Агент SSH теряет ключи после выхода из системы

Могу ли я изменить получателя почты по умолчанию на задания cron?

В journald, почему некоторые записи журнала sshd не относятся к ssh.service

Получите время, когда программа nohup R заканчивается

Отправка sigaction / sigqueue через оболочку

Убивание Баша меня сбивает с толку

Использовать Linux для резервного копирования сети MSWindows?

Локальные и основные правила таблицы маршрутизации

od печатает дополнительное значение

Linux – Internet Enabled приводит к тому, что весь компьютер замедляется до перезагрузки

Стандартная подоболочка vs подзаголовок подстановки команд

Разрешение отклонено при записи файла

Добавление правил на мой почтовый сервер

@hourly vs 0 * * * * – Cron – Как выполнять задания ежечасно, но в разное время

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