数据库文件误删除

使用debugfs命令测试

步骤

#如果删除宿主机的mysql目录文件,第一时间把mysql容器停止掉,防止容器重新启动,创建目录覆盖文件id,文件id被覆盖,这种方式就恢复不了

docker rm -f mysql

#查看文件所在的磁盘位置

df -Th

#使用debugfs

#打开df -Th命令所显示的磁盘空间

open /dev/mapper/ubuntu--vg-ubuntu--lv

#查看被删目录的上级目录

ls -d /docker/

#可以看到刚才删除的目录id,记录好id后,按q退出

#使用rdump命令恢复文件,回复完成按q退出

rdump <12196895> /home/test/

#进入目录查看,可以发现文件都在

#使用mv命令给文件改名,移动到宿主机挂载位置,启动容器,即可恢复

补充

查看文件id命令 ls -i

使用cp、mv命令会改变文件id;使用rm命令不会改变文件id;使用mkdir命令也不会改变文件id,如果使用rm删除文件,在使用mkdir创建同名目录(docker restart创建的目录同理),就没法恢复了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值