¿Cómo restaurar carpetas a su destino original usando duplicidad?

11

Después de realizar una copia de seguridad de un par de directorios así:

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

Quería probar cómo funciona la restauración eliminando los directorios respaldados:

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

Y luego, restaurando la copia de seguridad,

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

Pero recibí el error

Restore destination directory / already exists.
Will not overwrite.

Por lo tanto, parece que no puedo restaurar el destino original sin vaciar la carpeta raíz a pesar de que el destino de estas carpetas incluidas ya se ha borrado.

¿Hay una mejor manera que restaurarla en otra ubicación y luego mover cada carpeta una por una?

# 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
Desbordamiento de preguntas
fuente

Respuestas:

13

Es realmente fácil: use la bandera --force.

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

Esto probablemente no solo restaurará los archivos faltantes en los directorios que ha respaldado, sino que también reemplazará las versiones más nuevas de los archivos respaldados si existen, pero es mejor que nada.

Aran-Fey
fuente
De hecho, establecer la --forcebandera funciona. Me pregunto por qué la página del manual no documenta este comportamiento para la restoreopción. Me ahorra el paso adicional de tener que hacerlo rsyncdesde una ubicación diferente. ¡Gracias!
Pregunta Desbordamiento
Tenga en cuenta que incluso con el --forceindicador, Duplicity NO eliminará archivos /que no estén presentes en la copia de seguridad. Probado en Ubuntu 18.04LTS + Duplicity 0.7.17
bernie