해결책: 리눅스에서 삭제 된 파일 복원

1. 배경

비상 사태, 실수로 삭제 된 중요한 데이터, 게다가 백업이 없습니다.

데이터 경로는 / data / webapps / xxxx / upload입니다.. 매우 긴급하고

리눅스 플랫폼에서 데이터 복구 경험. 하지만 내 자료를 검색 한 후

많은 시험을하다, 손실 된 파일의 대부분은 복구되었습니다.

2. yum으로 데이터 복구 도구 설치.

(1) epel 저장소 설치

yum 설치 epel -y

(2) extundelete -y 설치

extundelete -v

extudelete_version

3. 소스 코드로 데이터 복구 도구 설치.

yum -y 설치 bzip2 e2fsprogs-devel e2fsprogs gcc-c ++ make

wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2

tar jxvf extundelete-0.2.4.tar.bz2

cd extundelete-0.2.4

./구성

하다 && 설치하다

 

4. 실수로 삭제 된 데이터 확인

누락 된 데이터의 경로가 조금 깊기 때문에, 그래서 루트 사전에서 날짜를 찾아야합니다.

분할

extundelete / dev / sda2 –아이 노드 2

check_delete1

check_delete2

check_delete3

나는 webapps의 inode를 볼 수 있습니다.,

extundelete / dev / sda2 –아이 노드 913921

check_delete4

이 프로젝트의 inode를 볼 수 있습니다.,

extundelete / dev / sda2 –아이 노드 913922

check_delete5

드디어, 누락 된 데이터 사전을 찾았습니다. “업로드”.

extundelete / dev / sda2 –아이 노드 913923

check_delete6

표시된 누락 된 데이터를 볼 수 있습니다. “삭제됨”,그래서 그 데이터는

회복되다.

 

5.  이 파티션을 사용하는 일부 프로세스 트리를 종료하고 마운트 해제

퓨저 -k /
언 마운트 /

6、자료 복구

지정된 사전을 복구 할 수 있습니다.. 현재 루트 파티션을 기반으로 경로 설정.

extundelete / dev / sda2 –복원 디렉토리 / webapps / xxxx / upload

 

항상 디스크에 읽기 및 쓰기가 있기 때문에, 그래서 누락에 속하는 일부 inode

데이터가 이미 할당되었습니다.,일부 데이터를 복구 할 수 없습니다.. 복구 도구

복구 할 수없는 파일을 알려주었습니다.. 하지만 대부분의 파일이 복구되었습니다.

그래서 복구 된 데이터를 확인했습니다. RECOVERED_FILES라는 폴더 하나가 생성되었습니다.

현재 사전. RECOVERED_FILES라는 이름의 복구 된 데이터.

누락 된 모든 데이터를 복구해야하는 경우 다음 명령을 실행할 수 있습니다..

extundelete / dev / sda5 –전부 복구

extundelete 옵션

옵션:

–버전, -[vV] 버전을 인쇄하고 성공적으로 종료.

–도움, 이 도움말을 인쇄하고 성공적으로 종료합니다..

–superblock 나머지에 추가하여 superblock의 내용을 인쇄합니다..

조치가 지정되지 않은 경우이 옵션이 내포됩니다..

–저널 저널 내용보기.

–dtime 이후 'dtime'이후에 삭제 된 항목 만 처리합니다..

–dtime 이전 'dtime'이전에 삭제 된 항목 만 처리합니다..

행위:

–inode ino inode‘ino’에 대한 정보 표시.

–block blk 블록 'blk'에 대한 정보 표시.

–이노 복원 이노[,이노,…]

파일 복원(에스) 알려진 inode 번호 'ino'.

복원 된 파일은 ./RECOVERED_FILES에 생성됩니다.

inode 번호를 확장으로 사용 (즉, file.12345).

–복원 파일‘경로’ 파일 '경로'를 복원합니다.. '통로’ 루트에 상대적 임

파티션의 '/'로 시작하지 않습니다.’

복원 된 파일은 현재

'RECOVERED_FILES / path'로 디렉토리.

–복원 파일‘경로’ 'path'파일에 나열된 파일을 복원합니다..

각 파일 이름은 옵션과 동일한 형식이어야합니다.

...에 –복원 파일, 한 줄에 하나씩 있어야합니다..

–복원 디렉토리‘경로’

디렉토리‘path’를 복원합니다.. '통로’ 에 상대적입니다

파일 시스템의 루트 디렉토리. 복원

디렉토리는 출력 디렉토리에 'path'로 생성됩니다..

–restore-all 모든 것을 복원하려는 시도.

-j journal 명명 된 파일에서 외부 저널을 읽습니다..

-b blocknumber 열 때 blocknumber의 백업 수퍼 블록을 사용합니다.

파일 시스템.

-B blocksize 파일을 열 때 blocksize를 블록 크기로 사용합니다.

체계. 숫자는 바이트 수 여야합니다..

–로그 0 프로그램을 무음으로 만들기.

–log filename 모든 메시지를 filename에 기록합니다..

–log D1 = 0, D2 = filename 쉼표로 구분 된 로그 메시지의 사용자 지정 제어

아래 예: 옵션 목록. Dn은 정보 중 하나 여야합니다., 경고, 또는

–로그 정보,오류 오류. ‘= 이름 생략’ 결과 메시지

–콘솔에 기록 할 지정된 수준으로 log warn = 0.

–log error = filename 매개 변수가‘= 0’인 경우, 지정된에 대한 로깅

레벨이 꺼집니다. 매개 변수가

‘= 파일 이름’, 해당 수준의 메시지는 파일 이름에 기록됩니다..

-o 디렉터리 복구 된 파일을 명명 된 디렉터리에 저장합니다..

복원 된 파일은 디렉토리에 생성됩니다.

이름이‘RECOVERED_FILES /’ 기본적으로.

 

첫 번째는 데이터가 삭제 된 후 삭제 된 데이터가있는 디스크 또는 파티션을 마운트 해제하는 것입니다..

이유: 루트 파티션이 삭제 된 경우, 단일 사용자 모드로 들어가야합니다, 그리고 이것을 마운트

읽기 전용 모드의 파티션. 시스템은 fle의 inode의 포인터를 삭제하기 때문에, 디스크에있는 실제 파일.

삭제 된 데이터 블록은 디스크가 읽기-쓰기 모드로 마운트 된 경우 파일 시스템에 의해 재 할당됩니다., 그리고

데이터 블록이 적용되면 데이터가 실제로 손실됩니다..

 

답장을 남겨주세요