複製を使用してフォルダーを元の宛先に復元する方法は?


11

そのようにいくつかのディレクトリのバックアップを実行した後:

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

バックアップしたディレクトリを削除して、復元がどのように機能するかをテストしたいと思いました。

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

次に、バックアップを復元し、

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

しかし、エラーが発生しました、

Restore destination directory / already exists.
Will not overwrite.

そのため、これらの含まれているフォルダーの宛先がすでにクリアされている場合でも、ルートフォルダーを空にしないと元の宛先に復元できないようです。

別の場所に復元し、各フォルダーを1つずつ移動するよりも良い方法はありますか?

# 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

回答:


13

とても簡単です。--forceフラグを使用してください。

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

これはおそらく、不足しているファイルをバックアップしたディレクトリに復元するだけでなく、バ​​ックアップされたファイルの新しいバージョンが存在する場合はそれを置き換えますが、何もないよりはましです。


実際、--forceフラグの設定は機能します。manページにrestoreオプションのこの動作が記載されていないのはなぜですか。これによりrsync、別の場所から移動する必要があるという追加の手順が節約されます。ありがとう!
質問のオーバーフロー

--forceフラグがあっても、Duplicityは/バックアップに存在しないファイルを削除しないことに注意してください。Ubuntu 18.04LTS + Duplicity 0.7.17でテスト済み
bernie
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.