ext4에서 파일 삭제 취소


11

어머니는 사고 당 / tmp에 중요한 파일을 배치했습니다. 물론 그들은 사라졌습니다.

이것은 어제 일어났다

파일 삭제를 취소하려고합니다. 그들은 / tmp에 있었고 나머지 /와 동일한 파티션에 있었으므로 마운트 된 시스템에서 실행되는 도구가 필요합니다 (또는 아마도 livecd를 사용할 수 있습니다 ...)

지금 방금 다운로드 한 systemrescuecd에서 testdisk를 시도하고 있습니다. / tmp에서 일부 파일을 얻을 수 있지만 전부는 아닙니다. (올바른 도구입니까? "빨간색"파일은 정확히 무엇입니까? 파일 중 일부만 복구 할 수 있습니까?)

답변:


15

당신은 또한 사용할 수 있습니다 extundelete

먼저 umount파일이 삭제 된 파일 시스템을 마운트 해제 ( )하십시오.
그런 다음 파일을 삭제 한 경우 수행 할 작업 장을 읽으 십시오 .

extundelete클래식 우분투 저장소에서 설치할 수 있습니다 :

sudo apt-get install extundelete

또는 최신 버전을 다운로드하여 컴파일 할 수 있습니다.

cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2  #Replace *.*.* by the version
cd      extundelete-*.*.*
sudo apt-get install e2fslibs-dev   #Required for compilation
./configure
make
sudo make install
extundelete --version               #Should be your *.*.* version

사용 예 : 삭제 된 모든 파일을 디렉토리 Images에서 새로 작성된 디렉토리로 복원restore

sudo extundelete --restore-directory Images/ -o restore /dev/sda3

XXXX다음 형식으로 파일을 볼 경우 나쁜 소식 입니다.

Unable to restore inode NNN (Images/XXXX): Space has been reallocated.

복원 된 모든 파일보기 (파일 찾기) :

find restore -name '*'

파일을 백업하고이 임시 디렉토리를 제거하십시오. restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore  

3
이 답변은 말 그대로 내 직업을 구했습니다. 감사합니다.
Twifty

10

특히 EXT 파일 시스템에서 데이터 복구는 삭제하려는 파티션에 의존하지 않는 라이브 CD 또는 기타 시스템에서 시도해야합니다. 디스크를 마운트 해제하거나 읽기 전용으로 마운트 해제하면 복구 작업에 많은 도움이됩니다.

대부분의 경우 dd디스크 자체에서 작업하지 않도록 파티션이나 디스크의 이미지를 비슷한 도구를 사용하여 만들려고 합니다.

dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img

이미지가 있으면 원하는 도구를 사용하여 ext3grep찾고있는 파일을 찾을 수 있습니다. 시도해 볼 수있는 다른 스위치가 많이 있지만 이것은 좋은 시작일 수 있습니다.

ext3grep --restore-file 'tmp/moms-file.txt' recovery.img

ext3grep유틸리티는 파일 이름을 모르는 경우 파일 시스템을 검색하는 여러 가지 방법을 제공합니다. ext3grep --help다양한 검색 방법을 확인하십시오 .


정확한 단계를 추가 할 수 있다면 좋을까요?
saji89

@ saji89 샘플 사용법 추가-올바른 유틸리티에 연결되도록 수정되었습니다!
Windigo

좋은. 이제 ... ext4에서 작동합니까?
josinalvo

1
@josinalvo 나는 그것을 시도했을 때 EXT4 볼륨으로 작업하고 있었고 작동했다. 찾고 있던 파일을 찾지 못했지만 기회의 창을 놓친 것 같습니다.
Windigo


0

ext4magic 또는 extundelete를 사용하여 crontab 파일을 복구 할 수 없습니다.

데비안에서 루트에 대한 crontab은 다음과 같습니다.

/var/spool/cron/crontabs/root

그러나 다음 명령을 사용하여 적어도 crontab을 로그에서 수동으로 복구 할 수있었습니다.

 grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq

실행 된 cron 작업 (시간 없음) 만 출력하지만 적어도 처음부터 시작하는 것 이상입니다.

특정 cron 작업이 얼마나 자주 실행되는지 기억하지 못하는 경우 전체 로그 (예 : syslog.1)를 가져 오면 하루 동안의 실행 횟수가 표시됩니다.

grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n

0

분석 EXT

EXT 디렉토리 데이터에 대한 데이터 블록을 구문 분석하십시오.

EXT4에 대한 자세한 문서는 여기에서 찾을 수 있습니다.

함께 펄 스크립트를 다운로드

git clone https://github.com/halpomeranz/analyzeEXT

보장되지는 않지만 삭제 된 파일 시스템을 재구성 할 수 있습니다.


1
이 도구는 정확히 무엇입니까? 어떻게 사용합니까? 스크립트에서 repo 설명과 도움말 메시지를 읽었 지만 자세한 내용은 없습니다.
wjandrea

펄 스크립트를 살펴 보았습니다. cli help가 스크립트와 일치하지 않습니다!
abu_bua

자세한 내용은 여기입니다. 나는 그것을 우연히 발견했다-결코 그것을 사용하지 않았다! youtube.com/watch?v=6pzm6909IvY
jouell

@jouell 나는 비디오의 2:30을 보았고 아직 스크립트를 언급하지 않았습니다. 간단한 요약을 추가하기 위해 답변을 편집 할 수 있습니까?
wjandrea
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.