«

xfs 系统误删恢复(不是网上那种先xfsdump备份然后在xfsrestore)

学长 发布于 阅读:5758 Linux


烂大街的,备份后恢复

https://blog.51cto.com/14449524/2433036


提前说下,不保证能全部找回。。。毕竟。。。误删后数据的完整性得不到保证的

首先说要用的工具

https://github.com/ianka/xfs_undelete

这是个tclsh编写的

tcl一般的系统都是带的

需要sudo yum install tcllib

用法就是 

下载然后放到一个新硬盘中 tar -xvf 这个压缩包


第一步建议新建个虚拟硬盘,把被rm -rf 删除文件所在的分区备份一遍

虚拟机中添加一个硬盘,一定要比你要备份的分区大。。。

然后重启挂载这个硬盘

看下挂载的地址

df 别格错盘了

find /dev -name "sd*"

对比下,没挂载的才是新硬盘。。。一般第一块是sda,第二块是sdb以此类推

在硬盘上创建分区

fdisk /dev/sdb

n

p

w

这样/dev下就有了个sdb1分区

格式化分区

mkfs.xfs /dev/sdb1

挂到data目录下

没权限su 或者 sudo

mkdir /data

mount /dev/sdb1 /data

找到误删的文件或文件夹在的目录

查看是挂在哪个分区上的

df .

假设你删除的文件在home下

那么返回就是/dev/mapper/centos-home

然后给误删的分区做镜像

logout图形界面

ctr+alt+F3 进入 指令界面

需要把分区先卸载了

umount 挂载点

确认下/data 是否挂载

df /data

有的时候umount顺带把  这个耶卸载了。。。

xfs_copy  /dev/mapper/centos-home /data/随便什么名字

100%后运行

mount /dev/mapper/centos-home /home

logout登出

然后cd 到解压 xfs_undelete的目录

xfs_undelete -t 2020-09-09 镜像的分区

这样在这个时候之后删除的文件能找出都会放在undeleted文件夹中


因为是新建的分区,权限和分组加下

sudo chmod a=rwx

sudo chown 改成图形界面用的账户

sudo chgrp 改成该账户所在的组 


推荐阅读:


扫描二维码,在手机上阅读