Как сохранить полный путь с rsync?

64

При резервном копировании с помощью rsync, как сохранить полную структуру каталогов?

Например, удаленный сервер сатурн , и я хочу сделать резервную копию SATURN «s / дома / UDI / файлов / изображений в локальный каталог с именем резервной копии .

Я хочу иметь (локально) резервную копию / home / udi / files / pictures, а не backup / pictures .

Адам Матан
источник

Ответы:

76

Используйте опцию -Rили, --relativeчтобы сохранить полный путь.

Dentrasi
источник
2

Другой распространенный вариант использования - сохранение выбранной части дерева каталогов /./, например, если вы хотите:

backup/files/pictures

ты можешь написать:

rsync --relative /home/udi/./files/pictures backup

Магия /./говорит, rsyncс чего начать создавать каталоги.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
Это сработало для меня! Является ли магия ./конструкцией Linux или специфичной для rsync? Просто пытаюсь понять это поведение.
flow2k
@ flow2k просто волшебство rsync, для POSIX это избыточно.
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
1

С Cygwin Windows rsync и предполагая, что удаленный rsync указывает на корень, я бы сделал:

rsync -vtrz --delete server::rsyncid/home/udi/files/pictures /cygdrive/d/backup/home/udi/files

Это поместит содержимое каталога удаленных изображений в / backup / home / udi / files / pictures. Предположительно, синтаксис под Unix будет похожим.

JR

Джон Ренни
источник
Это бесполезно, потому что нам нужно воспроизвести всю иерархию каталогов на локальной стороне перед выполнением команды rsync.
Людовик Куты