记一次差点删库跑路的经历

事件背景:

根据需求,我需要删除指定路径下已存在的内容,执行的命令是 rm -rf target_path  ,而这个target_path 是作为参数传入的,我使用了python中的os.path.join拼接路径的各个部分。为了路径最后以"/"结尾,我就用使用了os.path.join(a,b,c,"/"),期望返回的是a/b/c/

结果:

os.path.join(a,b,c,"/")返回的是/,导致我执行了rm -rf / 

然后就悲剧了......

补救措施:

好在我没有使用root用户执行,当前还是测试环境,只删除了当前用户下有权限的内容,但是也有很多大家测试和实验用的代码和数据。

被误删数据的Linux服务器的文件系统是xfs,度娘告诉我可以使用TestDisk恢复误删数据,我就按照文档操作,最后真的恢复了大部分数据。

文档:testdisk — testdisk 7.1 documentation

Testdisk 操作指南 - CGSecurity

切记!切记!! 切记!!! 在使用os.path.join时谨慎传入"/"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值