Использование rsync для сохранения только прав доступа

Вопрос или проблема

Я выполняю миграцию данных NAS с Celerra NS960 на Unity 500. У меня есть файловая система SMB/CIFS, которую я синхронизировал с использованием EMCOpy в среде Windows. Это также файловая система NFS (мультипротокольная). У меня обе файловые системы смонтированы на сервере Solaris 10 UNIX, могу ли я просто выполнить rsync только для прав доступа с NS960 на Unity и не копировать все данные снова?

Интересно, что вопрос в ссылке на возможный дубликат (который, по моему мнению, не является дубликатом) дает подсказку к ответу, который подойдет вам, если у вас есть GNU coreutils, включающие cp. cp в Solaris не имеет опции --attributes-only, поэтому вы не можете использовать это “из коробки”.

cp -a --attributes-only srcdir/. dstdir

Как было ответлено в другом месте, как:

rsync -ptgo -A -X -d --no-recursive --exclude=* first-dir/ second-dir

не достигает цели?

Как было указано,

Это делает:

-p, --perms                 сохранять права доступа
-t, --times                 сохранять время изменения
-o, --owner                 сохранять владельца (только суперпользователь)
-g, --group                 сохранять группу
-d, --dirs                  передавать каталоги без рекурсии
-A, --acls                  сохранять ACL (предполагает --perms)
-X, --xattrs                сохранять расширенные атрибуты
    --no-recursive          отключает рекурсию

Для справки

    --no-OPTION             отключить подразумеваемую OPTION (например, --no-D)
-r, --recursive             рекурсировать по каталогам

Ответ или решение

Использование rsync для сохранения только прав доступа: Полное руководство

При выполнении миграции данных с NAS в разных системах, возникает необходимость синхронизации прав доступа файлов между сервером Celerra NS960 и Unity 500 без повторного копирования всех данных. В данной статье мы рассмотрим, как можно использовать rsync на Solaris 10 для достижения этой цели.

Задача

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

Использование rsync

Для достижения вашей цели, вы можете использовать следующий синтаксис команды:

rsync -a --no-recursive --exclude='*' source_directory/ destination_directory/

Разбор параметров:

  • -a (или --archive): этот ключ объединяет несколько опций (-p, -t, -g, -o, -D), что позволяет сохранить права файлов, время модификации и т.д.
  • --no-recursive: отключает рекурсивное копирование, что позволяет синхронизировать только содержимое указанной директории без перехода в подкаталоги.
  • --exclude='*': эта опция исключает все файлы и директории, тем самым принуждая rsync только обновить атрибуты.

Альтернативный метод с использованием -X и -A

Если вам нужно сохранить также расширенные атрибуты и списки контроля доступа (ACL), можно дополнительно использовать флаги -X и -A:

rsync -a -X -A --no-recursive --exclude='*' source_directory/ destination_directory/

Почему rsync -ptgo -A -X -d --no-recursive --exclude=* не сработает?

Хотя используемые вами параметры -ptgo -A -X -d технически могут показаться корректными, в вашем конкретном случае важно использовать --no-recursive, поскольку -d сам по себе не предотвращает копирование содержимого подкаталогов, если такие есть. В результате, данная команда может не полностью достигнуть цели сохранения только прав без изменения данных.

Заключение

Используя rsync с правильно настроенными параметрами, вы можете эффективно синхронизировать только права доступа и атрибуты файлов между Celerra NS960 и Unity 500, избегая при этом повторного копирования данных. Убедитесь, что вы протестировали команду на небольшой выборке данных перед полной миграцией, чтобы избежать неожиданных результатов.

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

Оцените материал
Добавить комментарий

Капча загружается...