Duplicity を使用すると、信頼できないリモートストレージに増分的で効率的なバックアップを作成できます。これは正常に機能し、特定の時点(またはその後の次のバックアップ)でファイルを復元できます。
さて、私は知りたいすべてのバックアップの履歴で特定のファイルが変更されたとき。ファイル変更のタイムスタンプとサイズ、およびバックアップのタイムスタンプで十分です。
重複してそれを行う方法はありますか?
編集:私はそのファイルへのすべての変更/バージョンを確認したいことを明確にする必要があり、最後だけでなく、例えばそれが最初に導入されたとき、それが変化したとき。それは複数のバックアップ増分バックアップであるかもしれません。
Edgar Soldinによる メーリングリストでの回答 がありました:
いいえ、現在、すべてのバックアップバージョンを一覧表示できます。重複はいつ変更されたかを教えてくれません。ただし、内部的に重複を追跡しているため、これを実装できます。
ede/duply.net
つまり、本質的には、現在バニラの重複性では不可能ですが、データは重複性メタデータの中にあります。
Duplicityのバージョン0.7.03以降、ファイルが変更されたリビジョンをリストすることができます:
duplicity collection-status --file-changed 'filename' 'remote-url'
[〜#〜] yes [〜#〜]、これは、複製が取得する各スナップショット内のすべてのファイルのリストを取得することで実行できます(つまり、最初の完全バックアップとすべての増分)次に、ファイルリストを比較して、関心のある特定のファイルを探します。
複製のコピーを作成するよりも頻繁にファイルが変更されない限り、ファイルへのすべての変更は表示されませんが、各バックアップポイントでのファイルの各状態が表示されます。
これを行うためのシェルスクリプトを書きました。
ファイルの完全なリストをダンプしてから、そのリストで問題のファイルを検索してみてください。
duplicity list-current-files url > /path/to/file-list.txt
grep filename /path/to/file-list.txt
このコマンドは十分に文書化されていませんが、ファイルの各行には、最終変更時刻のように見える日付があります。
duplicity list-current-files --time now "${DEST}" > /tmp/today
duplicity list-current-files --time 1D "${DEST}" > /tmp/yesterday
grep -Fxvf /tmp/{today,yesterday}