标签:img alias ima -o UNC .sh 回收 云服务器 inux
一、背景俗话说的真好,常在河边走,怎能不湿鞋子,之前作为工程师自觉的很细心的我,今天终于有了误操作,想删除服务器上临时的系统扫描文件如下图:
由于是在root的家目录,本想这/tmp/下有很多系统扫描文件,系统性的tab了一下,由于是自己的监控测试服务器也没多想,tab了一下应该是有多个文件,之后直接跟*
然后删除全部扫描文件,但发现回车的一瞬间,发现只有一个扫描文件,瞬间头皮发麻,虽然只是自己的测试服务器,但下面也有很多脚本和数据文件,心里又气又恨。查看了下测试服务器只有一个根也没其他磁盘,此时ext3grep/extundelete这类工具就没办法了,想想也是有其他办法,但比较麻烦,算了就当买个教训吧,里面写个自定义rm命令脚本,来避免此类事情的发生。
由于是过度自信,操作执行rm -rf
手速感人,也没多看,因此自定义rm命令即可
#!/bin/bash
# auth:kaliarch
# function:自定义rm命令,每天晚上定时清理
# 定义rm删除命令替换脚本
CMD_SCRIPTS=$HOME/.rm_scripts.sh
# 定义回收站目录
TRASH_DIR=$HOME/.TRASH_DIR
CRON_FILE=/var/spool/cron/root
BASHRC=$HOME/.bashrc
[ ! -d ${TRASH_DIR} ] && mkdir -p ${TRASH_DIR}
cat > $CMD_SCRIPTS <<EOF
PARA_CNT=\$#
TRASH_DIR=$TRASH_DIR
for i in \$*; do
DATE=\$(date +%F%T)
fileName=\$(basename \$i)
mv \$i \$TRASH_DIR/\$fileName.\$DATE
done
EOF
sed -i "s@$(grep ‘alias rm=‘ $BASHRC)@alias rm=‘bash ${CMD_SCRIPTS}‘@g" $BASHRC
source $HOME/.bashrc
echo "0 0 * * * rm -rf $TRASH_DIR/*" >> $CRON_FILE
echo "删除目录:$TRASH_DIR"
echo "删除脚本:$CMD_SCRIPTS"
echo "请执行:source $BASHRC 来加载文件或退出当前shell重新登录"
rm -rf
误操作命令
标签:img alias ima -o UNC .sh 回收 云服务器 inux
原文地址:http://blog.51cto.com/kaliarch/2300148