Linuxが誤って削除したファイルを復元

4614 ワード

詳細
ターゲットの内容

  Linux       

1.Linuxで誤って削除したファイルを復元する
ファイルとフォルダの削除
rm-rfファイル名またはディレクトリ名
-r再帰削除(ディレクトリやディレクトリ内のものを削除できます)
-f強制削除
ext 4ファイルシステム上でファイルを削除し、復元できます:extundelete
Windowsリカバリ誤削除ファイル:final data v 2.0漢化版とeasyrecovery
Linuxファイルシステムは、ファイル名、inode(インデックスノード)、block(ブロック)の3つの部分から構成されています.
a.txt           inode              block
ファイル名ファイルメタデータ情報を格納本当にデータを格納
ファイルinode番号の表示:
[root@xuegod72 mnt]# ls -i a.txt
inodeのファイルプロパティを表示します.statコマンドでinodeに含まれる内容を表示する
[root@xuegod72 mnt]# stat a.txt
ブロック
blockブロック:本当にデータを格納する場所
ブロックサイズは変更可能です
私たちのブロックサイズが2 Mで、今のデータが101 Mだとしたら、何個のブロックが必要ですか?
101/2は50個ですか、51個ですか.
UMOUNT
誤って削除されたファイルの内容が上書きされないようにするにはどうすればいいですか??
ファイルのリカバリが必要なパーティションのアンインストール:または読み取り専用でマウント
extundeleteのダウンロード
http://sourceforge.net/オープンソースソフトウェアパブリケーションセンター
テストパーティションの準備:
[root@localhost ~]# fdisk/dev/sdb
入力
n:新規
p:プライマリパーティション
1:区画番号
w:保存
[root@localhost ~]# ls/dev/sdb*
[root@localhost~]#partx-a/dev/sdb#新しいパーティションテーブルを取得
[root@localhost ~]# mkfs.ext4/dev/sdb1
マウント
[root@localhost ~]# mkdir/sdb1
[root@localhost ~]# mount/dev/sdb1/sdb1
[root@localhost ~]# df -Th |tail -1
テストファイルをコピーし、削除します.
[root@localhost ~]# cp/etc/passwd/sdb1
[root@localhost ~]# cp/etc/hosts/sdb1
[root@localhost ~]# echo aaa > a.txt
[root@localhost ~]# mkdir -p/sdb1/a/b/c
[root@localhost ~]# cp a.txt/sdb1/a/
[root@localhost ~]# cp a.txt/sdb1/a/b/
[root@localhost ~]# touch/sdb1/a/b/kong.txt
treeコマンドのインストール:
[root@localhost Packages]# rpm -ivh tree-1.5.3-2.el6.x86_64.rpm
[root@localhostPackages]#tree/dev/sdb 1#ツリー表示/dev/sdb 1のファイルディレクトリを使用
ファイルを削除してパーティションをアンインストールするには、次の手順に従います.
[root@localhost sdb1]# pwd
/sdb1
[root@localhost sdb1]# ls
a  hosts  lost+found  passwd
[root@localhost sdb1]# rm -rf a passwd hosts
[root@localhost sdb1]# ls
lost+found
誤って削除されたファイルの内容が上書きされないようにするにはどうすればいいですか??
ファイルを復元するパーティションのアンインストール(現在のディレクトリをアンインストールするには現在の行を終了する必要があります):または読み取り専用でマウント
[root@localhost sdb1]# cd ..
[root@localhost sdb1]# umount/dev/sbd1
Windowsからextundeleteファイルをlinuxにアップロードし、xmanagerまたはCRTをインストールします.
extundeletを解凍してインストールする
[root@localhost ~]# ls
[root@localhost ~]# tar jxf extundelete-0.2.4.tar.bz2
[root@localhost ~]# cd extundelete-0.2.4
[root@localhost extundelete-0.2.4]# rpm -ivh/media/RHEL_6.5\x86_64\Disc\
[root@localhost extundelete-0.2.4]# ./configure
[root@localhost extundelete-0.2.4]# make && make install
make:コンパイル、ソースコードを実行可能なバイナリファイルにコンパイル
make installインストール
リカバリの開始
リカバリは、次の方法で実行できます.
inodeノードによるリカバリ
ファイル名によるリカバリ
ディレクトリaの下のすべてのファイルなどのディレクトリを復元する.
すべてのファイルを復元する
[root@localhost~]#mkdir/test#リカバリ用のデータとディレクトリを格納するディレクトリを作成
[root@localhost ~]# cd/test/
まず、削除ファイルのノード番号を確認します.
[root@xuegod63 ~]# extundelete/dev/sdb1 --inode 2
方法1:inodeノードによるリカバリ
[root@localhosttest]#extundelete--restore-inode 12/dev/sdb 1#12は前のステップのinode
[root@localhosttest]#ls#リカバリファイルの表示
RECOVERED_FILES
リカバリ後のファイルが元のファイルと一致するのをどのように表示しますか?diffコマンドで
[root@localhost RECOVERED_FILES]# diff file.12/etc/passwd
[root@localhost RECOVERED_FILES]##には何の出力もありません.結果は同じです.
メソッド2ファイル名でリカバリ
[root@localhost test]# extundelete --restore-file passwd/dev/sdb1
[root@localhost test]# ls
RECOVERED_FILES
[root@localhost test]# cd RECOVERED_FILES/
[root@localhost RECOVERED_FILES]# diff passwd/etc/passwd
方法3:ディレクトリaの下のすべてのファイルなどのディレクトリを復元する:
[root@localhost test]# extundelete --restore-directory a/dev/sdb1
[root@localhost test]# ls RECOVERED_FILES/
a  file.12  passwd
[root@localhost test]# cd RECOVERED_FILES/
[root@localhost RECOVERED_FILES]# ls
a  file.12  passwd
[root@localhost RECOVERED_FILES]# tree a
方法4:すべてのファイルを復元する
[root@localhost test]# extundelete --restore-all /dev/sdb1
[root@localhost test]# ls RECOVERED_FILES/
a  file.12  hosts  passwd  passwd.v1
extundeleteファイルを復元するときに空のファイルとディレクトリを自動的に作成できますか?
できません.
REHL 7 xfsシステム可能
xfsdumpを使用する場合は、次の制限に注意してください.
xfsdumpはマウントされていないファイルシステムのバックアップをサポートしません!マウント済みのバックアップのみ可能です.
xfsdumpはrootの権限を使用して操作する必要があります(ファイルシステムの関係に関連します)
xfsdumpはXFSファイルシステムしかバックアップできないでしょう.
xfsdumpがバックアップしたデータ(アーカイブまたはストレージメディア)は、xfsrestoreにのみ解析されます.
xfsdumpは、ファイルシステムのUUIDを介して各バックアップファイルを識別するため、同じUUIDを有する2つのファイルシステムをバックアップすることはできない