禁用/改变Linux服务器的rm命令。

2017年09月30日 原创
关键词: linux
摘要 本文介绍了如何禁用/改变Linux服务器上的rm命令,让误操作也能有机会恢复。

在Linux服务器上,运维进行操作的时候对于rm这个命令通常具有很高的警惕性,但是再警惕也会有不小心的时候,如果误删除了一些重要文件就会造成严重的影响。为了避免误删除操作,本文介绍了如何增加一个类似于windows上的回收站的功能,即便误删除了,也可以有机会把文件恢复过来。

collect_rubbish.sh收集垃圾文件,相当于把文件放在回收站里。

下面是该脚本的内容:

#!/usr/bin/bash
#
TRASH_DIR=/home/my/trash_bin/trash_`date "+%Y-%m-%d_%H:%M:%S"`/
for I in $@; do
  if [[ $I == -* ]]; then
    continue
  fi  
  if [ ! -d $TRASH_DIR ]; then
    mkdir $TRASH_DIR
  fi  
  mv $I $TRASH_DIR
done

delete_rubbish.sh删除收集到的垃圾文件,相当于清空回收站。

下面是该脚本的内容:

#!/usr/bin/bash
#
rm -rf /home/my/trash_bin/*

把这两个脚本放在/home/my/shell里。

然后编辑~/.bashrc文件,在文件最后添加一行

alias rm='/home/my/shell/collect_rubbish.sh'

这样使用rm命令就相当于是在把文件收集到回收站里了,只有执行delete_rubbish脚本才会真正删除文件。

为了定期清理垃圾文件,可以在crontab里加上每天0点定时执行delete_rubbish脚本的任务。

0 0   * * * root /usr/bin/bash /home/my/shell/delete_rubbish.sh