ersync --compare-dest arg não existe não importa o que

0

Eu tenho estas pastas:

.
├── result
├── test
│   ├── file1
│   ├── file2
│   ├── file3
│   └── file4
└── test2
    ├── file1
    ├── file2
    ├── file3
    └── file5
  • test é a pasta original.
  • Em test2 , alguns arquivos são diferentes, outros são idênticos e outros só existem lá.

Eu quero que o usuário rsync copie em result apenas os arquivos em test2 que são mais recentes que aqueles em test ou que não existem em test .

Eu executo qualquer um dos seguintes, variando se há ou não um = entre --compare-dest e o nome da pasta, se o nome da pasta tem ou não uma barra final ou até mesmo invertendo os parâmetros, por via das dúvidas Eu estou entendendo mal qual pasta é comparar-dest:

rsync -av --dry-run --itemize-changes --compare-dest=test2 test/ result/
rsync -av --dry-run --itemize-changes --compare-dest=test2/ test/ result/
rsync -arv --dry-run --itemize-changes --compare-dest test test2/ result/
rsync -arv --dry-run --itemize-changes --compare-dest test/ test2/ result/

Todos eles me dizem:

--compare-dest arg does not exist: NAME_OF_EXISTING_FOLDER
  • O que estou fazendo de errado?
  • Qual é o comando correto que tenho para resolver o requisito que explico no início desta pergunta?
por Tulains Córdova 02.02.2016 / 15:32

1 resposta

2

man rsync :

If DIR is a relative path, it is relative to the destination directory.

Você precisa:

rsync -av --dry-run --itemize-changes --compare-dest="$PWD"/test test2/ result/
    
por 02.02.2016 / 17:36

Tags