Linux自定义防误删脚本

以前看公司师傅作了一个linux下的回收站脚本。感受颇有想法,所以做文档以记录。
其原理为:修改系统内部的rm命令使用mv命令代提后将删除的文件保存在某个目录下,避免删除误操做。
后续能够使用cron按期的在回收站目录下的文件,也可用于恢复。
备注:cron定时任务中的/bin/rm能够使用系统的环境变量, 不受用户的环境变量影响。
如下是脚本内容:
#!/bin/bash
#Description:
#Author:L.Wang
#Version:1.0
#CreateTime:2018-10-23 17:08:56linux

#!/bin/bash
#定义rm删除脚本
CMD_SCRIPTS=$HOME/.rm_scripts.shshell

#定义回收站目录
RECYCLE_DIR=$HOME/.RECYCLE_DIR
BASHRC=$HOME/.bashrcbash

[ ! -d ${RECYCLE_DIR} ] && mkdir -p ${RECYCLE_DIR}ide

cat > ${CMD_SCRIPTS} << EOF
PARA_CNT=\$# #将参数个数传递给变量PARACNT
RECYCLE
DIR=$RECYCLE_DIR #定义部分变量,不可删除。ip

for i in \$*;do
DATE=\$(date +%F-%T)
filename=\$(basename \$i)
mv \$i \$RECYCLE_DIR/\$filename.\$DATE
done
EOF文档

sed -i "s@$(grep 'alias rm=' $BASHRC)@alias rm='bash ${CMD_SCRIPTS}'@g" $BASHRC #替换自己的rm命令
. $BASHRC #从新加载配置。it

echo "设置定时任务删除几天前的文件,结合实际补充 。"
echo "删除目录: $RECYCLE_DIR"
echo "删除脚本: $CMD_SCRIPTS"
echo "请执行:source $BASHRC来加载文件或者退出当前shell从新登陆!"io

相关文章
相关标签/搜索