rsync --backup-dir cria pastas vazias no diretório de backup

4

Eu tenho uma estrutura de pastas assim:

.
├── bkp
├── dst
└── src
    └── folder
        └── file

Eu corro o seguinte comando:

rsync -t -r -b --backup-dir /tmp/rsyncTest/bkp/ /tmp/rsyncTest/src/ /tmp/rsyncTest/dst/

Meus resultados são:

.
├── bkp
│   └── folder
├── dst
│   └── folder
│       └── file
└── src
    └── folder
        └── file

Minhas perguntas são:

  1. Por que uma pasta vazia é criada no bkp (backup-dir)?
  2. É possível não criá-lo?
por Calfater 25.02.2015 / 14:32

2 respostas

1

Parece que sua sintaxe está errada, pode ser por isso que não está funcionando como esperado.

De man rsync

--backup-dir=DIR

Portanto, deve ser assim e isso funciona para mim:

rsync -tbr --backup-dir=/tmp/rsyncTest/bkp/ /tmp/rsyncTest/src/ /tmp/rsyncTest/dst/

As opções --backup e --backup-dir só funcionam quando os arquivos foram alterados. Por exemplo, digamos que você tenha 3 arquivos no diretório src e já tenha sincronizado uma vez com esse comando rsync . Se você excluir um deles e, em seguida, recriá-lo e adicionar um monte de alterações ao arquivo e, em seguida, executar o comando rsync novamente, você notará que a cópia antiga que estava no diretório dst foi movida para sua --backup-dir e a nova cópia do diretório src foi movida para o seu dst . Se nenhuma alteração for detectada, nada será colocado no diretório bkp .

    
por 25.02.2015 / 15:46
0

A razão pela qual a 'pasta' foi criada no bkp é por causa da opção --backup-dir. Esta opção disse ao rsync para designar o bkp como o diretório de backup (isto é, é nesta pasta que os arquivos pré-existentes na pasta dst serão movidos). Basta remover esta opção para evitar criar esta pasta.

    
por 25.02.2015 / 14:55

Tags