今晩、ある種のカーネルパニックの後、コンピューターをハードシャットダウンする必要がありました。
再起動すると、~/.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
Android Studioを数か月インストールしているので、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バイトのファイルが復元されました...数週間前に私のファイルに何かが起こった可能性があります。