zoukankan      html  css  js  c++  java
  • 改造rm命令为mv

    :刚在群里面看到小伙伴误操作把服务器上重要的文件给删掉了,于是google了下,找到一篇文章把rm命令改造成mv命令,源博客如下:http://blog.csdn.net/dataspark/article/details/13015351,下面是步骤

    1. 在/home目录下新建两个目录,命名为:.trash,tools
    2. 在/home/tools/目录下,新建一个shell文件,命名为: remove.sh
    PARA_CNT=$#
    TRASH_DIR="/home/.trash"
    
    for i in $*; do
        STAMP=`date +%s`
        fileName=`basename $i`
        mv $i $TRASH_DIR/$fileName.$STAMP
    done
    
    3. 修改~/.bashrc, 增加一行
    alias rm="sh /home/tools/remove.sh"
    用我们自建的remove.sh替代rm命令
     
    4. 设置crontab,定期清空垃圾箱,如:
    0 0 * * * rm -rf /home/.trash/*
    每天0点清空垃圾箱
     
    5. source ~/.bashrc 使替换立即生效
    经过上面的步骤后,执行rm删除的文件,会被放入垃圾箱。如果误删除,可以从中恢复。
    
    3. 修改~/.bashrc, 增加一行
    alias rm="sh /home/tools/remove.sh"
    用我们自建的remove.sh替代rm命令
     
    4. 设置crontab,定期清空垃圾箱,如:
    0 0 * * * rm -rf /home/.trash/*
    每天0点清空垃圾箱
     
    5. source ~/.bashrc 使替换立即生效
    经过上面的步骤后,执行rm删除的文件,会被放入垃圾箱。如果误删除,可以从中恢复。
    

    测试如下:

    在当前目录下创建了一个del_test目录,然后执行rm del_test后结果如下:

    可见被删除的del_test在/home/.trash目录里,这样误删除的文件就能在这里找到。没试过比较大的文件,小文件测试都没问题。

    写在后面:防止服务器上文件误操作的办法感觉没有,只能把风险降到最低,比如可以利用sudo限制账号的使用命令权限,把rm命令改造成mv命令,培训相关需要使用服务器人员linux命令操作,root权限最小化,服务器密码只掌握在公司重要的人手上,其他一律不给密码等。

  • 相关阅读:
    .Net Remoting浅释
    初级SQL开发汇总指南
    WPF Navigation导航
    WPF Button的背景图片设置
    2015/9/20 Python基础(16):类和实例
    2015/9/19 Python基础(15):变量作用域及生成器
    2015/9/18 Python基础(14):函数式编程
    2015/9/17 Python基础(13):函数
    2015/9/15 Python基础(12):模块和包
    2015/9/10 Python基础(11):错误和异常
  • 原文地址:https://www.cnblogs.com/uglyliu/p/6127583.html
Copyright © 2011-2022 走看看