ยกเลิกการลบไฟล์บน ext4


11

แม่ของฉันวางไฟล์สำคัญไว้ใน / tmp ต่ออุบัติเหตุ แน่นอนว่าพวกเขาจากไปแล้ว

สิ่งนี้เกิดขึ้นเมื่อวานนี้ (ตั้งแต่เริ่มระบบ 2 เครื่อง)

ฉันต้องการลองยกเลิกการลบไฟล์ พวกเขาอยู่บน / tmp ซึ่งอยู่ในพาร์ทิชันเดียวกันกับส่วนที่เหลือของ / ดังนั้นฉันต้องการเครื่องมือที่ทำงานบนระบบที่ติดตั้ง (หรือบางทีฉันอาจใช้ livecd ...

ตอนนี้ฉันกำลังลองทดสอบดิสก์บน systemrescuecd ที่ฉันเพิ่งดาวน์โหลด ฉันสามารถรับไฟล์บางไฟล์จาก / tmp แต่ไม่ใช่ทั้งหมด (เป็นเครื่องมือที่ถูกต้องหรือไม่ไฟล์เหล่านั้นคืออะไร "สีแดง" และมีเพียงบางไฟล์เท่านั้นที่สามารถกู้คืนได้)

คำตอบ:


15

คุณยังสามารถใช้ extundelete

เริ่มแรกเลิกเมานท์ ( umount) ระบบไฟล์ที่ลบไฟล์
อ่านแล้วบทจะทำอย่างไรถ้าคุณลบไฟล์

คุณสามารถติดตั้งextundeleteจากที่เก็บ Ubuntu คลาสสิก:

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 ควรพยายามจากไลฟ์ซีดีหรือระบบอื่นที่ไม่ได้ขึ้นอยู่กับพาร์ติชั่นที่คุณยกเลิกการลบ การเรียกคืนดิสก์หรือเมานต์ใหม่แบบอ่านอย่างเดียวจะช่วยได้มากในการกู้คืน

เวลาส่วนใหญ่ฉันพยายามที่จะสร้างภาพของพาร์ทิชันหรือดิสก์ที่ใช้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

ฉันไม่สามารถกู้คืนไฟล์ crontab ของฉันโดยใช้ ext4magic หรือ extundelete

บน Debian, crontab สำหรับ root อยู่ที่นี่:

/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

AnalyzeEXT

แยกวิเคราะห์ข้อมูลบล็อกสำหรับข้อมูลไดเรกทอรี EXT

เอกสารรายละเอียดเกี่ยวกับ EXT4 สามารถดูได้ที่นี่:

ดาวน์โหลดสคริปต์ perl ด้วย

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

ไม่มีการรับประกัน แต่อาจจะสามารถสร้างระบบไฟล์ที่ถูกลบใหม่ได้


1
เครื่องมือนี้คืออะไรกันแน่? คุณใช้มันอย่างไร? ฉันอ่านคำอธิบาย repo และข้อความช่วยเหลือในสคริปต์แล้ว แต่มีรายละเอียดไม่มากนัก
wjandrea

ลองดูสคริปต์ perl; ความช่วยเหลือ cli ไม่ตรงกับสคริปต์!
abu_bua

รายละเอียดเพิ่มเติมอยู่ที่นี่ ฉันสะดุดมัน - ไม่เคยใช้เลย! youtube.com/watch?v=6pzm6909IvY
jouell

@jouell ฉันดูวิดีโอ 2:30 แล้วและเขายังไม่ได้พูดถึงสคริปต์ คุณสามารถแก้ไขคำตอบเพื่อเพิ่มการสรุปแบบย่อได้หรือไม่
wjandrea
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.