著名的 rm -rf 惨案!
2015年5月28日 携程疑似由于员工错误操作导致服务挂了
2017年2月2日 GitLab 管理员误删生产数据库
2017年4月5日 DigitalOcean 出现删除生产数据库的事故
2018年4月24日 Kuriko宣布 因机房技术人员 rm -rf /* ,导致 host 上所有数据丢失了
……
就在前一段时间博主竟然也踩坑了!!!!
线上环境发现某个目录下存在一些类似命名的
咔咔输入以下命令
rm -rf *>.png
回车~
过去0.5 秒
过去 1秒
过去1.5秒
过去 2秒
我擦,赶紧 Ctrl + C
赶紧看看目录情况 ls
被删了将近一半的文件
我去!这怎么办?该目录文件基本上都是代码,备份还是6个月之前的,当初偷懒还直接在线上改过这个目录代码!!!!
跑路吧!!!
,说笑了,跑路不存在的,就算跑路也得修复这个问题呀!经过2天终于解决了。
为了防止这种事情发生!尤其是线上服务器!是时候给他增加一个回收站功能了!
开源项目
网上介绍的方式很多,这个给大家推荐一个开源的项目!
https://github.com/andreafrancia/trash-cli/
要求:
Python 3 (Python 2.7 也可以)
pip (在 Debian 上用 apt-get install python-pip 来安装 pip)
安装命令:
pip install trash-cli
源码安装
为所有用户安装:
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
sudo pip install .
为当前用户安装
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
pip install .
为当前用户安装后你可能需要把以下代码添加到 .bashrc:
export PATH=~/.local/bin:"$PATH"
卸载命令:
pip uninstall trash-cli
使用方法
trash-cli 用于移动文件到回收站,同时会记录文件的原地址、删除日期和权限。trash-cli 和 KDE、GNOME、XFCE 使用同一个回收站,你可以在命令行或脚本运行 trash-cli。
trash-cli 提供以下命令:
trash-put 把文件或目录移动到回收站
trash-empty 清空回收站
trash-list 列出回收站文件
trash-restore 恢复回收站文件
trash-rm 删除回收站文件
详细文档: https://github.com/andreafrancia/trash-cli/blob/master/README_zh-CN.rst