精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

linux如何復原已經刪除的文件

Linux愛好者 ? 來源:21運維 ? 作者:21運維 ? 2020-09-07 10:38 ? 次閱讀

Linux不像windows有那么顯眼的回收站,不是簡單的還原就可以了。linux刪除文件還原可以分為兩種情況,一種是刪除以后在進程存在刪除信息,一種是刪除以后進程都找不到,只有借助于工具還原,這里分別檢查介紹下。

一、誤刪除文件進程還在的情況。

這種一般是有活動的進程存在持續標準輸入或輸出,到時文件被刪除后,進程PID還是存在。這也就是有些服務器刪除一些文件但是磁盤不釋放的原因。比如當前舉例說明:通過一個shell終端對一個測試文件做cat追加操作:

[root@21yunwei_backup ~]# echo "hello py"> testdelete.py[root@21yunwei_backup ~]# cat >>testdelete.py hello delete

另外一個終端查看這個文件可以清楚看到內容:

[root@21yunwei_backup ~]# cat testdelete.py hello pyhello delete

此時,在當前服務器刪除文件rm -f ./testdelete.py

命令查看這個目錄,文件已經不存在了,那么現在我們將其恢復出來。

1. lsof查看刪除的文件進程是否還存在。

這里用到一個命令lsof,如沒有安裝請自行yum或者apt-get。類似這種情況,我們可以先lsof查看刪除的文件 是否還在:

[root@21yunwei_backup~]#lsof|grepdeletedmysqld1512mysql5uREG252,306312397/tmp/ibzW3Lot(deleted)cat20464root1wREG252,3231310722/root/testdelete.py(deleted)

幸運的是這種情況進程還存在 ,那么開始進行恢復 操作。

2. 恢復。

恢復命令:

cp /proc/pid/fd/1/指定目錄/文件名

進入進程目錄,一般是進入/proc/pid/fd/,針對當前情況:

[root@21yunwei_backup ~]# cd /proc/20464/fd[root@21yunwei_backup fd]#lltotal 0lrwx------ 1 root root 64Nov1518:120> /dev/pts/1l-wx------ 1 root root 64Nov1518:121> /root/testdelete.py (deleted)lrwx------ 1 root root 64Nov1518:122> / dev/pts/1

恢復操作:

cp 1/tmp/testdelete.py

查看文件:

[root@21yunwei_backup fd]# cat /tmp/testdelete.pyhello pyhello delete

恢復完成。

二、誤刪除的文件進程已經不存在,借助于工具還原。

創建準備刪除的目錄并echo一個 帶有內容的文件:

[root@21yunwei_backup 21yunwei]# tree.├── deletetest│ └── mail│ └── test.py├── lost+found└── passwd3 directories, 2 files[root@21yunwei_backup 21yunwei]# cat /21yunwei/deletetest/mail/test.py hello Dj[root@21yunwei_backup 21yunwei]# tail -2 passwd haproxy500:/home/haproxy:/bin/bashtcpdump72:/:/sbin/nologin

執行刪除操作:

[root@21yunwei_backup 21yunwei]# rm -rf ./*[root@21yunwei_backup 21yunwei]# lltotal 0

現在開始進行誤刪除文件的恢復。這種情況一般是沒有守護進程或者后臺進程對其持續輸入,所以刪除就刪除了,lsof也看不到。就要借助于工具。這里我們采用的工具是extundelete第三方工具。恢復步驟如下:

1.停止對當前分區做任何操作,防止inode被覆蓋。inode被覆蓋基本就告別恢復了。比如停止所在分區的服務,卸載目錄所在的設備,有必要的情況下都可以斷網。2.通過dd命令對當前分區進行備份,防止第三方軟件恢復失敗導致數據丟失。適合數據非常重要的情況,這里測試,就沒有備份,如備份可以考慮如下方式:

dd if=/path/filename of=/dev/vdc1

1.通過umount命令,對當前設備分區卸載。或者fuser 命令。

umount /dev/vdb1 或者 umount /21yunwei

如果提示設備busy,可以用fuser命令強制卸載:

fuser -m -v -i -k /21yunwei

1.下載第三方工具extundelete安裝,搜索誤刪除的文件進行還原。

wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2tar jxvf extundelete-0.2.4.tar.bz2cd extundelete-0.2.4./configure makemake install

掃描誤刪除的文件:

[root@21yunwei_backup extundelete-0.2.4]# extundelete --inode 2/dev/vdb1NOTICE: Extended attributes are not restored.Loading filesystem metadata ... 8 groups loaded.Group: 0Contents of inode 2:..省略N行File name | Inode number | Deleted status. 2.. 2lost+found 11Deleteddeletetest 12Deletedpasswd 14Deleted通過掃描發現了我們刪除的文件夾,現在執行恢復操作。

1.恢復單一文件passwd

[root@21yunwei_backup /]# extundelete /dev/vdb1 --restore-file passwd NOTICE: Extended attributes are not restored.Loading filesystem metadata ... 8 groups loaded.Loading journal descriptors ... 46 descriptors loaded.Successfully restored file passwd

恢復文件是放到了當前目錄RECOVERED_FILES。查看恢復的文件:

[root@21yunwei_backup /]# tail -5 RECOVERED_FILES/passwd mysql497:/home/mysql:/bin/falsenginx496:/home/nginx:/sbin/nologinzabbix495ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologinhaproxy500:/home/haproxy:/bin/bashtcpdump72:/:/sbin/nologin

2.恢復目錄deletetest

[root@21yunwei_backup/]#extundelete/dev/vdb1--restore-directorydeletetestNOTICE:Extendedattributesarenotrestored.Loadingfilesystemmetadata...8groupsloaded.Loadingjournaldescriptors...46descriptorsloaded.Searchingforrecoverableinodesindirectorydeletetest...5recoverableinodesfound.Lookingthroughthedirectorystructurefordeletedfiles...[root@21yunwei_backup/]#catRECOVERED_FILES/deletetest/mail/test.pyhelloDj

3.恢復所有

[root@21yunwei_backup/]#extundelete/dev/vdb1--restore-allNOTICE:Extendedattributesarenotrestored.Loadingfilesystemmetadata...8groupsloaded.Loadingjournaldescriptors...46descriptorsloaded.Searchingforrecoverableinodesindirectory/...5recoverableinodesfound.Lookingthroughthedirectorystructurefordeletedfiles...0recoverableinodesstilllost.[root@21yunwei_backup/]#cdRECOVERED_FILES/[root@21yunwei_backupRECOVERED_FILES]#tree.├──deletetest│└──mail│└──test.py└──passwd2directories,2files

4.恢復指定inode

[root@21yunwei_backup /]# extundelete /dev/vdb1 --restore-inode 14NOTICE: Extended attributes are not restored.Loading filesystem metadata ... 8 groups loaded.Loading journal descriptors ... 46 descriptors loaded.[root@21yunwei_backup /]# tail -5/RECOVERED_FILES/file.14mysql497:/home/mysql:/bin/falsenginx496:/home/nginx:/sbin/nologinzabbix495ZabbixMonitoringSystem:/var/lib/zabbix:/sbin/nologinhaproxy500:/home/haproxy:/bin/bashtcpdump72:/:/sbin/nologin注意恢復inode的時候,恢復 出來的文件名和之前不一樣,需要單獨進行改名。內容是沒問題的。

更多的extundelete用法請參考extundelete –help選項參數說明,當前恢復所有的操作完成。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11230

    瀏覽量

    208934

原文標題:如何在 Linux 上恢復誤刪除的文件或目錄

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在Linux使用rm刪除文件與目錄

    rm命令用于刪除文件和目錄。它是每個Linux用戶都應該熟悉的基本命令之一。
    發表于 12-08 16:49 ?2541次閱讀

    Linux文件的復制、刪除和移動命令

    Linux文件的復制、刪除和移動命令 Linux文件的復制、刪除和移動命令  cp命令  功能
    發表于 01-18 12:45 ?1246次閱讀

    Linux目錄的創建與刪除命令

    Linux目錄的創建與刪除命令 Linux目錄的創建與刪除命令  mkdir命令  功能:創建一個目錄(類似DOS下的md命令)。  語法:mkdir [選項] dirname  說
    發表于 01-18 12:46 ?1311次閱讀

    Linux文件系統的反刪除方法

    Linux文件系統的反刪除方法 作為一個多用戶、多任務的操作系統,Linux下的文件一旦被刪除
    發表于 03-29 10:39 ?719次閱讀

    linux刪除命令rm的使用

      在linux中創建文件很容易,系統中隨時會有文件變得過時且毫無用處。用戶可以用rm命令將其刪除。該命令的功能為刪除一個目錄中的一個或多個
    發表于 08-23 15:47 ?1316次閱讀

    如何在Linux下如何刪除大量文件的詳細資料概述

    本文檔的主要內容詳細介紹的是如何在Linux刪除大量文件的過程詳細資料概述免費下載。
    發表于 11-14 17:10 ?7次下載

    你會在Linux系統中恢復被刪除文件

    當用戶意外地刪除了一個仍然需要的文件時,大多數情況下,是沒有簡便的方法可以重新找回或重建這個文件。不過,幸運的是文件是可以通過一些方法恢復的。當用戶
    發表于 05-13 09:26 ?1417次閱讀

    linux下利用inode刪除指定文件文件

    本文主要介紹使用inode刪除異常文件名的文件的方法,供大家參考:在Linux中,有時候會遇到文件名是亂碼或者是某些特殊中文
    發表于 04-02 14:39 ?360次閱讀

    Linux上恢復誤刪除文件或目錄的小妙招

    Linux不像windows有那么顯眼的回收站,不是簡單的還原就可以了。linux刪除文件還原可以分為兩種情況:一種是刪除以后在進程存在
    的頭像 發表于 11-18 11:33 ?6848次閱讀

    恒訊科技分析:如何在Linux上使用rm命令刪除文件和目錄?

    本指南展示了如何在Linux中使用rm命令行刪除文件、目錄和其他內容?
    的頭像 發表于 06-09 17:02 ?1159次閱讀

    linux刪除文件的命令

    Linux中,可以使用 rm 命令來刪除文件。該命令有多個參數和選項可供使用,以根據不同的情況進行文件刪除操作。例如: rm 命令后面跟上
    的頭像 發表于 11-08 14:11 ?821次閱讀

    linux刪除文件命令rm

    Linux系統中,可以使用rm命令來刪除文件或目錄。該命令的功能是刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下的所有
    的頭像 發表于 11-13 16:42 ?870次閱讀

    linux重裝系統會刪除所有文件

    Linux重裝系統時,是否會刪除所有文件取決于用戶的操作和選擇。一般來說,重裝系統會格式化系統的安裝目錄,并重新安裝操作系統,這意味著所有的系統文件和用戶
    的頭像 發表于 11-17 10:59 ?2641次閱讀

    ubuntu刪除文件怎么恢復

    : Ubuntu文件系統概述 Ubuntu是一個基于Linux的操作系統,其文件系統與Windows系統有所不同。在Ubuntu中,文件系統通常使用ext4
    的頭像 發表于 08-30 15:10 ?1168次閱讀

    使用lsof實現對linux文件的誤刪除恢復練習

    本文記錄使用lsof實現對linux文件的誤刪除恢復練習。題目如下: 1.確保當前nginx進程運行中 2.刪除日志文件,rm -f /va
    的頭像 發表于 11-24 11:14 ?86次閱讀
    使用lsof實現對<b class='flag-5'>linux</b><b class='flag-5'>文件</b>的誤<b class='flag-5'>刪除</b>恢復練習