Como restaurar pastas para o destino original usando duplicidade?

11

Depois de executar um backup de alguns diretórios como este:

# duplicity\
 --exclude /home/user/Documents/test1/file\
 --include /home/user/Documents/test1\
 --include /tmp/test2\
 --exclude '**'\
 / file:///home/user/Backup

Eu queria testar como a restauração funciona excluindo os diretórios de backup:

# rm -rf /home/user/Documents/test1 /tmp/test2

E então, restaurando o backup,

# duplicity file:///home/user/Backup /

Mas eu entendi o erro,

Restore destination directory / already exists.
Will not overwrite.

Parece que não consigo restaurar o destino original sem esvaziar a pasta raiz, mesmo que o destino dessas pastas incluídas já tenha sido limpo.

Existe uma maneira melhor do que restaurá-lo para outro local e depois mover cada pasta uma por uma?

# duplicity --file-to-restore home/user/Documents/test1 file:///home/user/Backup /home/user/Restore1
# mv /home/user/Restore1/home/user/Documents/test1 /home/user/Documents/test1
# duplicity --file-to-restore tmp/test2 file:///home/user/Backup /home/user/Restore2
# mv /home/user/Restore2/tmp/test2 /tmp/test2
Pergunta Overflow
fonte

Respostas:

13

É realmente fácil - use a bandeira --force.

duplicity --force file:///home/user/Backup /

Isso provavelmente não apenas restaurará os arquivos ausentes nos diretórios dos quais você fez o backup, mas também substituirá as versões mais recentes dos arquivos de backup, se existirem, mas é melhor que nada.

Aran-Fey
fonte
De fato, definir a --forcebandeira funciona. Gostaria de saber por que a página do manual não documenta esse comportamento para a restoreopção. Isso me poupa a etapa adicional de ter que rsyncsair de um local diferente. Obrigado!
Pergunta Overflow
Observe que, mesmo com o --forcesinalizador, o Duplicity NÃO excluirá os arquivos /que não estão presentes no backup. Testado no Ubuntu 18.04LTS + Duplicity 0.7.17
Bernie