일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- evernote
- Swipes
- 린나이온도조절기
- 네모안
- REACT
- nodejs
- rasppi3
- EditText
- 기름보일러
- 가스비절약
- 난방비절약
- npm moment
- 경동
- Raspberry Pi
- 에버노트
- todoist
- anydo
- 나비엔
- node.js
- react-native
- 가스요금폭탄
- 온도센서
- debounce
- __attribute__
- IOT
- Node
- ReactNative
- 라온익스
- 온도조절기
- xcode11
- Today
- Total
어허
[linux] rm 으로 지운 파일 복구. (실패) 본문
중요한 파일 하나를 실수로 rm 으로 지워버렸다.
git에도 안올린 업체 특화된 코드였고, 서버에 백업본도 예전거라 복구를 꼭 해야했다.
구글링
재빠르게 구글링을 시도한 결과
debugfs
extundelete
라는 두가지 방법을 이용해서 복구가 가능하다는 것을 알았다.
extundelete
df -k
명령어를 이용해서 해당 하드디스크가 /dev/sda5 인것을 확인하고 ext4 파일시스템으로 마운트 된것을 확인
sudo extundelete --restore-file [파일의 절대경로] /dev/sda5
여기서 주의할 점은
[파일의 절대경로]를 작성할때 루트디렉토리 아래 home 디렉토리는 생략해야 한다는 것이다.
만약 /home/alaveiw/projects/pro_1/test.c 파일을 복구하고싶다면
sudo extundelete --restore-file alaveiw/projects/pro_1/test.c /dev/sda5
이와 같은 식으로 써야한다.
이것때문에 한참 고생했네..
아무튼 열심히 시도는 했으나 실패....
sudo extundelete --restore-all /dev/sda5
를 해서 전체 복구를 시도했으나
다른 계정의 삭제된 파일 몇개만 RESTORE_FILE 폴더에 생겼고 많은 파일들은 복구되지 않았다.
debugfs
debugfs 를 -w 옵션을 줘서 쓰기 가능 모드로 들어간다
그뒤 해당 폴더로 이동한다. (이때 절대경로는 위에서 설명한 것과 마찬가지로 /home/는 생략하고 입력
ls -d로 그동안 삭제된 파일목록을 보자
sudo debugfs -w /dev/sda5
debugfs 1.42 (29-Nov-2011)
debugfs: cd alaveiw/projects/pro_v1/source/user/app
debugfs: ls -d
아래와 같이 삭제된 파일들이 잔뜩 나온다.
하지만 내가 복구하고자 하는 파일은 나오지 않는다 .
아
망했다
<6812032> (1956) .purifier.c.back.swx <6812021> (1908) humidifier.h
<6794320> (1884) purifier.c.back.swp
<6812000> (1852) .purifier.c.back.swx
(END)
일단 삭제리스트애 있는 파일 하나를 복구해보자
debugfs: undel 6812021 hns_humidifier.h
6812021: File not found by ext2_lookup
안된다.
결론
이런식으로 복구한 사람들도 상당수 있는것 같고
extundelete 명령어를 이용해서 다른사람 계정의 삭제된 파일 복구는 되었는데
정작 내가 필요한 파일은 복구가 되지 않았다.
여러사람이 쓰는 서버이다보니
삭제하고 복구를 시도하는 동안 파일시스템에 이미 다른 파일이 써져버렸을 수도 있지만
삭제된 리스트에도 안뜨는건 뭔가 잘못된것 같다
"백업은 메일 합시다."
'개발 > Linux' 카테고리의 다른 글
CentOS tftp put/ Error code 2: Access violation 해결아닌 해결 (0) | 2016.06.08 |
---|---|
busybox wget으로 ftp id password 다운로드 받기 (0) | 2013.04.25 |
[VMware] Cannot open the disk or ~~~~lock the file. (0) | 2013.01.21 |
[SVN] remains in conflict 에러 해결 (0) | 2013.01.18 |
리눅스 putty등 터미널창에 현재 경로 표시하기 (0) | 2011.12.22 |