Skip to content

rm -rf * 잘못 쳤을 때 울지 않기!

조회 수 19209 추천 수 0 2009.09.30 14:47:56
얼마전에 저는 정말 절망 속에서 있었습니다.
지난 3개월간 작업한 모든 데이타를 rm -rf 로 날려버렸고.
백업도 2달 전에 해놓은거라. .;; 진짜 암담한 상황이었습니다.

몇몇 지인분들께 여쭤봐도 "포기해~ 그게 정신건강에 좋아" 라는 얘기만 들었습니다.

그러다가 보게 된. http://kldp.org/node/103288

하던중 큰 시행착오는 없었고 저 문서대로만 하면되는데.
umount 하는데 ;; 문제가 많이 발생했습니다. 아래 차근 차근 설명을 쓰겠습니다.

제가 사용하는 centOS 에서만 그런지 모르겠지만.
옵션이 "-" 문자가 아니라 "--" 문자로 해야 작동을 했습니다.
--help 쳐보면 옵션 나오죠^^
저처럼 아무것도 모르는 초짜를 위해서 말씀드리자면.

저 링크에 있는 파일 받아서 설치하기 위해선
1-      ./configure (물론 압축풀린 곳에서)
2-      make
3-      make install

요렇고롬 해주면 됩니다.
패키지로도 되어있다고 하니깐. 우분투 패키지 관리자에서 잘 찾아보시길.

ext3grep 입니다.


설치후에 umount 해주니

device 가 아직 작동중이랍니다.

그래서 fuser -km /dev/sda6 (제 파티션 장치가 /dev/sda6입니다)
해서 연결된 장치를 지워주니 ssh 가 끊깁니다.;

원인인 즉슨, 제가 일반 유저로 로그인해서 su - 로
최고관리자 권한을 가져서 인데

이건
vi /etc/ssh/sshd_config
PermitRoot no <--- yes
/etc/init.d/sshd restart

요렇고롬 세팅 해주면 됩니다.

그런 문제없이 자연스레 umount 가 되시는 분은 그냥 넘어가십시요.

그다음 ext3grep ?-dump-names --after=12146454 /dev/sda6
  위의 숫자는 unix time 입니다. php에서 mktime(시,분,초,월,일,연)
  해주면 쉽게 구할 수 있죠.(다른 방법있다면 그걸 선택하세요)

여튼 전 history 명령으로 제가 rm -rf 를 친 그 시점에대해서 복구하려고 위의
세팅을 맞췄습니다.


저렇게 하면 sdb1.ext3grep.stage1 와 sdb1.ext3grep.stage2
파일 비스므레한 파일이 생깁니다. ( 시간이  꽤 걸렸습니다 저는. 한시간 반정도?)
앞에껀 inode 정보 뒤에껀 디렉토리 정보죠.
사람이 읽을 수 있는건 뒤에꺼고요. 필요한건 두파일 모두입니다.

건들진 마세요. 그냥 두시면됩니다.


그다음 --restore-all  옵션과 --after 옵션으로
위에서 가져온 정보에 대해서 복구를 합니다. 다시 재차 조회해 오진 않으므로
시간소요는 적습니다.



이렇게 해서 제가 실행한 위치에 /RESTORE~~~~~ 어쩌구 폴더가 생기면서

그곳에 제 파티션의 파일들이 복구가 되었습니다. ^^ 아 사랑스러워. ^^

그 다음 다시 이 디바이스를 해당 폴더에 mount 시켜주고 복구된 파일을 /RESTORE 에서
원래의 장소로 복사해주면 끝.


정말...ㅜ.ㅜ 눈물을 머금고 처음부터 재작업을 하려고 했는데

이런걸 알게되다니... 위의 글을 써주신 분께 다시한번 감사를.


설명이 좀 부족해서 말이 엉킬수도 있겠네요.

여튼. ^^ 도움이되셨으면 좋겠습니다.
profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/2871/c1f/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
367 도메인 Status 상태별 설명 안내 ADMINPLAY 2012-12-28 4892
366 HDD Guardian (a graphical user interface for smartctl) ADMINPLAY 2013-09-22 4998
365 dpkg 사용법 ADMINPLAY 2013-04-03 5009
364 top 화면 내용중 load average와 PRI : priority(우선순위... ADMINPLAY 2013-12-24 5200
363 ubuntu 10.04 에서 Nginx, Mysql, PHP5 ADMINPLAY 2013-02-28 5237
362 HP 서버 disk 증설 (hpacucli 사용) ADMINPLAY 2015-08-05 5238
361 리눅스 메모리 관리, 왜 메모리 여유공간이 없을까? (top ... ADMINPLAY 2013-04-25 5298
360 windows smartctl ADMINPLAY 2013-09-22 5328
359 ZFS 파일에 ACL 설정 ADMINPLAY 2014-02-03 5336
358 make 정리 ADMINPLAY 2013-05-12 5340
357 SSL 패스워드 삭제 하기 ADMINPLAY 2014-04-27 5442
356 EXT4 파일 시스템을 Btrfs 파일 시스템으로 변환하기 ADMINPLAY 2015-07-07 5453
355 tar 압축을 실수로 디렉토리 생성 안하고 풀었을때 대처법 ADMINPLAY 2013-09-22 5462
354 ll 명령시 날짜 전체가 보이도록 하기 ADMINPLAY 2014-01-02 5481
353 hddtemp와 mrtg를 이용한 하드디스크 온도 체크 file ADMINPLAY 2013-12-19 5514
352 python과 mysql 연동시 libmysqlclient_r.so.* 에러가 날 ... ADMINPLAY 2014-03-27 5592
351 linux 커널 파라메터 수정 ADMINPLAY 2013-05-12 5613
350 우분투(Ubuntu) ssh 설정하기 ADMINPLAY 2013-02-27 5664
349 error: Hm, kex protocol error: type 30 seq 1 [preauth]... file ADMINPLAY 2016-05-20 5665
348 운영중인 Linux 서버에서 NTFS 파일 시스템 삭제하기 ADMINPLAY 2013-01-16 5734

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234