Ao fazer backup com rsync, como mantenho a estrutura completa de diretórios?
Por exemplo, o servidor remoto éSaturno, e quero fazer backupSaturnode/home/udi/arquivos/imagenspara um diretório local chamadocópia de segurança.
Eu quero ter (localmente)backup/home/udi/arquivos/imagensem vez debackup/imagens.
Responder1
Use a opção -R
ou --relative
para preservar o caminho completo.
Responder2
Outro caso de uso comum relacionado é manter uma parte selecionada da árvore de diretórios com /./
, por exemplo, se você quiser:
/home/udi/files/pictures
ir para:
backup/files/pictures
você pode escrever:
rsync --relative /home/udi/./files/pictures backup
A mágica /./
é analisada especialmente rsync
antes de passar esse caminho para as chamadas do sistema e informa por onde começar a criar diretórios. Isso /./
não significa nada para outros utilitários POSIX em geral, por exemplo, o caminho a/./b
é o mesmo a/b
do POSIX.
Responder3
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.
Responder4
Você pode fazer alterações no cron quando deseja iniciar o rsync
rsync -avz -e ssh ruser@rserver:/home/udi/files/pictures/* /backup/pictures/
você também pode adicionar a chave ssh à conexão do servidor remoto sem senha