Como manter o caminho completo com o rsync?


64

Ao fazer backup com o rsync, como faço para manter a estrutura de diretórios completa?

Por exemplo, o servidor remoto é saturno , e eu quero fazer backup de Saturno 's / home / UDI / arquivos / imagens para um diretório local chamado de backup .

Quero ter (localmente) backup / home / udi / files / pictures em vez de backup / pictures .

Respostas:


76

Use a opção -Rou --relativepara preservar o caminho completo.


2

Outro caso de uso relacionado comum é o de manter uma parte selecionada da árvore de diretórios /./, por exemplo, se você quiser:

backup/files/pictures

você pode escrever:

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

A mágica /./diz por rsynconde começar a criar diretórios.


Isso funcionou para mim! A mágica é ./uma construção Linux ou específica para rsync? Apenas tentando obter algumas dicas sobre esse comportamento.
flow2k 23/09

@ flow2k apenas rsync magic, para POSIX é redundante.
Ciro Santilli quinta-feira,

1

Com o rsync do Cygwin Windows, e assumindo que o rsync remoto esteja apontando para a raiz, eu faria:

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

Isso colocará o conteúdo do diretório de imagens remotas em / backup / home / udi / files / pictures. Presumivelmente, a sintaxe no unix seria semelhante.

JR


Não é útil porque precisamos reproduzir toda a hierarquia de diretórios no lado local antes de executar o comando rsync.
Ludovic Kuty
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.