xfs 系统误删恢复(不是网上那种先xfsdump备份然后在xfsrestore)
烂大街的,备份后恢复
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 改成该账户所在的组
推荐阅读: