Malam ini, saya harus mematikan komputer dengan keras setelah semacam kepanikan kernel.
Ketika saya reboot, saya melihat ~/.ssh/id_rsa
saya telah diganti dengan file kosong.
Mem-boot ulang ke USB dan menjalankan fsck
di partisi rumah saya melaporkan bahwa sistem file dalam kondisi baik.
Ini saja tidak masalah. Saya mengakses kunci asli. Namun, saya khawatir bahwa file lain mungkin telah terpotong dengan cara yang sama.
Cadangan terakhir saya, menggunakan deja-dup
, tiga hari yang lalu, jadi saya bisa melakukan roll-back penuh, tetapi saya lebih suka bertanya deja-dup
file apa yang telah berubah sejak saat itu dan cari file "mencurigakan".
Tampaknya inilah tujuan duplicity verify
, jadi setelah membaca halaman manual, saya mencoba:
duplicity verify --verbosity 4 --no-encryption file:///path/to/backup/ /home/${USER}
yang berjalan hingga selesai tanpa melaporkan perubahan. Setidaknya, saya mengharapkan ~/.ssh/id_rsa
saya untuk dideteksi, tetapi saya telah menambahkan, menghapus, dan mengubah file lain.
Percobaan saya berikutnya sama, tetapi dengan --compare-data
bendera:
duplicity verify --verbosity 4 --no-encryption file:///path/to/backup/ /home/${USER}
Yang sepertinya melaporkan bahwa setiap file di folder rumah saya baru, mulai seperti:
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
Saya telah menginstal Android Studio selama berbulan-bulan, jadi itu pasti dalam cadangan saya dari tiga hari yang lalu, dan ls
melaporkan bahwa Default.xml
masih ada dan panjangnya 108 byte.
Sebagai upaya terakhir, saya mengubah direktori target menjadi /
, karena itu tampaknya menjadi root saat menggunakan duplicity list-current-files
, yang mengharuskan penambahan beberapa ekspresi reguler untuk membatasi duplikasi agar hanya mempertimbangkan folder rumah saya:
duplicity verify --verbosity 4 --compare-data --no-encryption --include-regexp ".*home/${USER}/.ssh.*" --exclude-regexp ".*" file:///path/to/backup/ /
Yang memiliki efek menarik melaporkan bahwa folder rumah saya tidak ada:
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
Pada titik ini, saya pasti hanya salah paham bagaimana saya harus menggunakan duplikasi. Bagaimana cara memverifikasi cadangan yang dibuat oleh deja-dup
?
duplicity list-current-files
memiliki keluaran mulai:
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
Jawaban yang Diterima:
@ede dan saya menemukan solusi yang sama pada saat yang sama, dalam kasus saya di milis duplikat
Terkait:Cadangan Aneh dan Masalah Peringatan?
verifikasi duplikat membutuhkan --compare-data
tandai untuk memverifikasi file di disk, dan perlu --file-to-restore
tandai untuk melihat di direktori yang tepat, jadi perintah terakhir yang menyelesaikan masalah saya adalah:
duplicity verify --verbosity 4 --compare-data --file-to-restore=/home/${USER} --no-encryption file:///path/to/backup/ /home/${USER}/
Sayangnya, ini masih tidak mendeteksi ~/.ssh/id_rsa
rusak. Pada saat yang sama, mencoba memulihkan dari cadangan memulihkan file 0-byte… Sangat mungkin terjadi sesuatu pada file saya beberapa minggu yang lalu.