rsync рекурсивный только на том же монтировании

21

Надеюсь, на этот простой вопрос есть простой ответ.

Я хочу запустить rsync с помощью опции -r , но без перехода в другую точку монтирования (файловую систему). то есть, как и опция -mount с командой find , читается одна справочная страница, например: «Не спускать каталоги в других файловых системах. Альтернативное имя для -xdev для совместимости с некоторыми другими версиями find ».

danorton
источник

Ответы:

29

Я считаю, что вы хотите -xxвариант:

-x, --one-file-system
Указывает rsync избегать пересечения границы файловой системы при повторном обращении. Это не ограничивает возможности пользователя указывать элементы для копирования из нескольких файловых систем, просто рекурсию rsync по иерархии каждого каталога, указанного пользователем, а также аналогичную рекурсию на принимающей стороне во время удаления. Также имейте в виду, что rsync рассматривает монтирование lqbindrq на том же устройстве, что и в одной файловой системе.

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

Причина, которую я говорю -xx, связана с полужирным сечением (выделение добавлено).

nerdwaller
источник
Благодарю. Должно быть, я пропустил это дюжину раз на странице руководства. :-)
Данортон
Не беспокойтесь, я просто использовал функцию поиска ( /) и искал «mount». Взял несколько nбывших. Рад, что это работает!
ботаник