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

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

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

Например, удаленный сервер — этоСатурн, и я хочу сделать резервную копиюСатурн's/home/udi/файлы/картинкив локальный каталог с именемрезервное копирование.

Я хочу иметь (локально)резервная копия/home/udi/файлы/картинкискорее, чемрезервное копирование/фотографии.

решение1

Используйте опцию -Rили --relativeдля сохранения полного пути.

решение2

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

/home/udi/files/pictures

идти в:

backup/files/pictures

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

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

Магия /./специально анализируется rsyncперед тем, как передать этот путь системным вызовам, и сообщает, откуда начинать создавать каталоги. Это /./ничего не значит для других утилит POSIX в целом, например, путь a/./bтакой же, как a/bв POSIX.

решение3

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

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

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

Дж.Р.

решение4

Вы можете внести изменения в cron, чтобы узнать, когда вы хотите запустить rsync.

rsync -avz -e ssh ruser@rserver:/home/udi/files/pictures/* /backup/pictures/

также вы можете добавить ключ ssh для подключения к удаленному серверу без пароля

Связанный контент