今晩、ある種のカーネルパニックが発生した後、コンピューターをハードシャットダウンする必要がありました。
再起動すると、~/.ssh/id_rsa
に気づきました。 空のファイルに置き換えられました。
USBで再起動し、fsck
を実行します 私のホームパーティションで、ファイルシステムが良好な状態であると報告されました。
これだけでは問題ありません。元のキーにアクセスします。ただし、他のファイルも同様に切り捨てられている可能性があるのではないかと心配しています。
deja-dup
を使用した最後のバックアップ 、は3日前だったので、完全なロールバックを実行できましたが、deja-dup
に質問したいだけです。 それ以降に変更されたファイルを探し、「疑わしい」ファイルを探します。
これはまさにduplicity verify
の目的のようです 、それで、manページをスキミングした後、私は試しました:
duplicity verify --verbosity 4 --no-encryption file:///path/to/backup/ /home/${USER}
変更を報告せずに完了しました。少なくとも、~/.ssh/id_rsa
を期待していました 検出されますが、他のファイルを追加、削除、変更しました。
次の試みは同じでしたが、--compare-data
を使用しました フラグ:
duplicity verify --verbosity 4 --no-encryption file:///path/to/backup/ /home/${USER}
これは、私のホームフォルダ内のすべてのファイルが新しいことを報告しているようです:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 15 11:43:22 2017
Difference found: File . has permissions 1000:1001 700, expected 0:0 555
Difference found: New file .AndroidStudio2.3
Difference found: New file .AndroidStudio2.3/config
Difference found: New file .AndroidStudio2.3/config/inspection
Difference found: New file .AndroidStudio2.3/config/inspection/Default.xml
私はAndroidStudioを何ヶ月もインストールしていたので、3日前からのバックアップに間違いなくあり、ls
Default.xml
が まだ存在し、108バイトの長さです。
最後の努力として、ターゲットディレクトリを/
に変更しました 、duplicity list-current-files
を使用すると、それがルートのように見えたため 、ホームフォルダのみを考慮するために重複を制限するためにいくつかの正規表現を追加する必要がありました:
duplicity verify --verbosity 4 --compare-data --no-encryption --include-regexp ".*home/${USER}/.ssh.*" --exclude-regexp ".*" file:///path/to/backup/ /
これは、私のホームフォルダが存在しないことを報告するという興味深い効果がありました:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 15 11:43:22 2017
Difference found: File home is missing
Difference found: File home/${USER} is missing
Difference found: File home/${USER}/.AndroidStudio2.3 is missing
Difference found: File home/${USER}/.AndroidStudio2.3/config is missing
Difference found: File home/${USER}/.AndroidStudio2.3/config/inspection is missing
Difference found: File home/${USER}/.AndroidStudio2.3/config/inspection/Default.xml is missing
この時点で、私は確かに、重複をどのように使用すべきかを誤解しています。 deja-dup
によって生成されたバックアップを確認するにはどうすればよいですか ?
duplicity list-current-files
出力開始:
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Fri Dec 15 11:43:22 2017
Tue Feb 6 19:36:56 2018 .
Wed Aug 2 17:32:09 2017 home
Tue Feb 6 00:38:20 2018 home/${USER}
Sat May 13 18:49:24 2017 home/${USER}/.AndroidStudio2.3
Thu Jun 22 19:42:14 2017 home/${USER}/.AndroidStudio2.3/config
Sat May 13 18:57:45 2017 home/${USER}/.AndroidStudio2.3/config/inspection
Sat May 13 18:57:45 2017 home/${USER}/.AndroidStudio2.3/config/inspection/Default.xml
承認された回答:
@edeと私は同時に同じ解決策を見つけました。私の場合は重複メーリングリストにあります
関連:奇妙なバックアップとアラートの問題?
重複検証には--compare-data
が必要です ディスク上のファイルを確認するためにフラグを立て、--file-to-restore
が必要です 適切なディレクトリを検索するためにフラグを立てるので、私の問題を解決した最後のコマンドは次のとおりです。
duplicity verify --verbosity 4 --compare-data --file-to-restore=/home/${USER} --no-encryption file:///path/to/backup/ /home/${USER}/
残念ながら、これでも~/.ssh/id_rsa
は検出されません。 破損しました。同時に、バックアップから復元しようとすると、0バイトのファイルが復元されました…数週間前に私のファイルに何かが起こった可能性があります。