오늘 저녁에는 일종의 커널 패닉으로 인해 컴퓨터를 강제 종료해야 했습니다.
~/.ssh/id_rsa
재부팅했을 때 내 파일이 빈 파일로 대체된 것을 발견했습니다 .
USB로 재부팅하고 fsck
기본 파티션에서 실행하면 파일 시스템 상태가 양호하다고 보고되었습니다.
그것만으로는 문제가 되지 않습니다. 원래 키에 액세스할 수 있습니다. 그러나 다른 파일도 비슷하게 잘릴 수 있다는 우려가 있습니다.
마지막 백업이 deja-dup
3일 전이라 전체 롤백도 가능하지만 그냥 deja-dup
그 이후로 어떤 파일이 바뀌었는지 물어보고 "의심스러운" 파일을 찾아보는 게 나을 것 같습니다.
이것이 바로 목적인 것 같았 duplicity verify
으므로 일부 매뉴얼 페이지를 살펴본 후 다음을 시도했습니다.
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
답변1
@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바이트 파일이 복원되었습니다. 아마도 몇 주 전에 내 파일에 무슨 일이 일어났을 가능성이 높습니다.