前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次用rm -rf命令猛如虎删除linux服务器文件经历

记一次用rm -rf命令猛如虎删除linux服务器文件经历

作者头像
猿芯
发布2020-07-06 14:08:13
1.2K0
发布2020-07-06 14:08:13
举报

背景

前段时间,经公司护网行动安全要求,需要对部署在 tomcat 等服务器上的程序进行安全漏洞扫描,楼主在没任何工作交接的情况下,只能自己动手把 war 从 tomcat 所在服务器下载下来。可是楼主在备份 war 包的过程中,用rm -rf 命令误删除了某个文件上传共享目录(war 包中有些文件太大,下载不了,所以要删除。),导致很多新闻展示不了。经过一个通宵达旦的各种前抢修和数据恢复,还是有部分数据丢失。万幸的是这个应用快要下线了,数据少几条没关系,现在回过头来想想,只能阿弥陀佛了。

删除原理分析

当有人告诉我数据不能完全恢复时,我蒙B了五分钟,这种事尽然发生在我身上。。。面壁。。。

原理分析

当硬盘上的一个文件删除,其实没有真正想象中的那样在硬盘上清除掉的,它是把 inode 号和 block 块的链子断开,但是真正的数据还是在硬盘上的,有没有感觉比在 windows上删除快,当你在删除文件的地方重新复制了新文件,那时候才会把之前的文件覆盖掉,也就是说删除了没有关系,千万不要往那个位置放文件了。

也就是说,删除了文件不要紧,但是一定不要在原先的文件地方再次写入新的文件,因为这会触发真正的覆盖原先文件,也就是真正的删除文件,再也恢复不了了。

文件如何恢复

可以用 ext3grep工具进行文件恢复,前提是要求你的系统是在 ext3 或者 ext4 的文件系统,因为 ext3 文件系统是日志型文件系统,ext3 文件系统储存信息的时候是由 inode 号和 block 块存储的。

ext3grep 教程参考:https://www.cnblogs.com/lazyfang/p/7699994.html

rm 常用参数

常用参数说明

-f, --force 强制删除。忽略不存在的文件,不提示确认-i 在删除前需要确认-r, -R, --recursive 递归删除目录及其内容-v, --verbose 详细显示进行的步骤

询问式删除文件

rm 文件名

删除文件时,系统会先询问是否删除。

例子:

rm a.log

强制删除目录和文件

rm -rf 目录名

rm -rf 会强行删除该目录以及所有文件、子目录下的所有文件和目录。

例子:

rm -rf /data/logs

通配符删除文件

rm -rf *

通过 * 表示删除当前目录下所有目录和文件。

例子:删除目录下以 log 扩展名结尾的所有日志文件

rm -f *.log*

经验总结

1、做好源程序和线上 war 包备份

2、慎用 rm 命令,改用 mv 命令

3、做好关键文件和数据备份

4、慎用你的自信心,在不了解系统情况下,尽量不要动手,背锅侠不好当

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构荟萃 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 删除原理分析
  • 文件如何恢复
  • rm 常用参数
  • 经验总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档