防止 rm -rf 误删带来的灾难

前言

搞过运维想过行业的淫们都有过rm之伤,造成血的教训。为了避免以后才出现类似的情况,强烈建议生产环境中千万不要使用rm -rf 这种操作,太危险了。为什么不学学Ubuntu/MacOS等系统有一个回收站,删除了可以去回收站里面找。经过折腾一番,终于找到了一个工具 trash-cli。

trash-cli是一个使用 python 开发的软件包,trash-cli trashes记录原始路径,删除日期和权限的文件。它使用KDE,GNOME和XFCE使用的相同垃圾桶,但您可以从命令行(和脚本)调用它。包含:

1
2
3
4
5
* trash-put           trash files and directories.
* trash-empty empty the trashcan(s).
* trash-list list trashed files.
* trash-restore restore a trashed file.
* trash-rm remove individual files from the trashcan.

trash-cli 安装

The easy way

Requirements:

Python 2.7 or Python 3
setuptools (use apt-get install python-setuptools on Debian)

Installation command:

1
easy_install trash-cli

From sources

System-wide installation:
1
2
3
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
sudo python setup.py install
User-only installation:
1
2
3
git clone https://github.com/andreafrancia/trash-cli.git
cd trash-cli
python setup.py install --user

trash-cli 命令

查看安装成功之后的命令

1
2
3
4
5
6
7
# ll /usr/bin/ | grep trash
-rwxr-xr-x 1 root root 123 Feb 2 17:43 trash
-rwxr-xr-x 1 root root 125 Feb 2 17:43 trash-empty
-rwxr-xr-x 1 root root 124 Feb 2 17:43 trash-list
-rwxr-xr-x 1 root root 123 Feb 2 17:43 trash-put
-rwxr-xr-x 1 root root 127 Feb 2 17:43 trash-restore
-rwxr-xr-x 1 root root 122 Feb 2 17:43 trash-rm
功能说明:
  • trash-put 将文件或目录移入回收站
  • trash-empty 清空回收站
  • trash-list 列出回收站中的文件
  • trash-restore 还原回收站中的文件
  • trash-rm 删除回首站中的单个文件
用它替代 rm命令
1
2
3
4
# vim .bashrc 
# .bashrc
#alias rm='rm -i'
alias rm='trash-put'

实验测试

删除测试:

1
2
3
4
5
6
# rm -rf dump.sql
# ll ~/.local/share/Trash/files
-rw-r--r-- 1 root root 123 Jul 17 2018 dump.sql

# trash-list
2019-02-02 18:02:33 /root/dump.sql

还原删除的文件

1
2
3
4
5
6
7
8
# trash-restore /root/dump.rdb
0 2019-02-02 18:01:08 /root/dump.sql.bak
1 2019-02-02 18:02:33 /root/dump.sql
What file to restore [0..1]: 1

还原成功
# ll /root/dump.rdb
-rw-r--r-- 1 root root 123 Jul 17 2018 /root/dump.sql

结束

trash-put命令会把我们想要删除的文件移动到~/.local/share/Trash/files 中。相关信息记录在~/.local/share/Trash/info中。

-------------本文结束感谢您的阅读-------------

本文标题:防止 rm -rf 误删带来的灾难

文章作者:Wang Jiemin

发布时间:2019年03月20日 - 17:03

最后更新:2019年03月20日 - 18:03

原始链接:https://jiemin.wang/2019/03/20/trash-cli/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%