linux文件刪除恢復

一、  Linux運維人員學會備份相當重要node

 

 

刪除文件恢復mysql

第一種狀況linux

  當前系統有多個用戶,其中一個用戶對文件進行修改,則另外一個用戶對文件進行了刪除操做,那麼,這時候如何進行操做?sql

     解決方法:後端

          經過文件打開的PID以及打開文件的文件句柄運維

          lsof | grep –i deleteide

          cp /proc/file_pid/fd/句柄   /path/file_name工具

 

 

 

刪除之後不要再對磁盤進行任何操做 以避免恢復不可逆this

 

1.  linux打開一個文件有一個對應的文件進程id生成在proc下面   只要進程id存在 即便文件被刪除咱們根據進程id就能夠恢復spa

 

 

實驗: 啓用兩個登陸 並都是root用戶登陸

Cp /etc/issue .  此時的點表示當前目錄 etc下的issue文件複製到當前目錄

用戶1cat >> issue    並輸入this is test

用戶2 rm –rf issue

        ls查看是否被刪除

        lsof –i |grepdelete   Lsof查看進程號  lsof | grep –i delete  查看我後端有哪些文件被刪除

        cd /proc/2747/fd/

        cp  1 /tmp/issue  複製後並查看cat/tmp/issue  此時的1爲上一命令的句柄

 

 

wKioL1S0zsqiXcIgAAAtYDW6eUw254.jpg

解釋: cat說明是一個命令   2747pid    root用戶操做的

1w 打開文件進程它所使用的一個文件句柄  根據這個恢復

最後面字段的意思  我打開一個文件 狀態是deleted狀態  可是有進程存在

 

第二種狀況:

當前系統只有一個用戶在登陸,對文件進行了誤刪除操做,那麼這個時候如何進行操做 前提該文件系統爲日誌文件系統

 

注意事項以及解決思路:

1. 中止對當前分區作任何操做 防止其餘文件把刪除文件的inode值覆蓋

2. 經過dd命令對當前分區進行備份,防止經過第三方軟件恢復失敗,形成數據的丟失

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

 3.  經過umount對當前設備分區基於卸載 umount /dev/sda  or umount /mount_point

 4.  下載並安裝第三方開源工具,進行對丟失的文件進行搜索並進行還原

 5

 wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

 6 編譯安裝  安裝此軟件時必須安裝依賴的庫文件  yum install e2fsprogs*  -y

         對源碼包解壓

         相應的命令進行對源碼文件配置屬性 ./configure or cmake(mysql編譯的時候用的到)

        make && make install  編譯以及編譯安裝

 

extundelete相關命令安裝成功後而後利用這個命令對咱們丟失文件所在的目錄或者設備進行全文搜索

1.  extundelete –node 2/dev/sdb1 

 2.  extundelete –restore-inodeinode /dev/sdb1

 3.  extundelete –restore-all  /dev/sdb1

 4.  文件目錄 時間  extundelete --help

 

 

實驗:

1.  創建一單獨的分區爲日誌文件系統 並掛載

blkid /dev/sdb1 查看是否爲日誌文件系統

mount /dev/sdb1/root/test

2.  mkdir /root/test/test_directory –p

cp/etc/passwd  /etc/issue  /etc/inittab .  複製三個文件到test_directory目錄

rm –rf  test_directory/

umount /dev/sdb1

3. wget  http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

  tar–jxf  *****.bz2

  安裝以前安裝依賴包yuminstall e2fsprogs*  -y

  make時候提示 如下警告忽略

 wKiom1S0zhKyjwA3AAAojoZD0hI063.jpg

4.安裝成功後

 

1.  extundelete –node 2/dev/sdb1 

 2.  extundelete –restore-inodeinode /dev/sdb1  恢復特定inode號文件

  3. extundelete –restore-all /dev/sdb1 恢復全部文件

 

 

恢復後爲 掛載

  mount /dev/sdb1  /root/test

  將一下三個文件拷貝到原有文件系統sdb1

wKioL1S0zwCinpU1AAAsomut8fc778.jpg

相關文章
相關標籤/搜索