避免误删,自己搭建linux回收站

相信不少人都遇到过误删了在Linux虚拟机中写的程序文件,使忙活了半天的工作功亏一篑。其实可以通过alias rm为mv动作来解决误删问题。具体如下。

1、编写回收站脚本
vim /bin/rm.sh
#!/bin/sh
dirpath=/data/Recycle # 选择回收站所在的分区目录
now=`date +%Y%m%d_%H_%M_%S_`
filename=${now}$1 # 给已经删除的文件加一个时间前缀来标识删除时的精准时间
if [ ! -d ${dirpath} ];then
/bin/mkdir -p ${dirpath}
fi
/bin/mv $1 ${dirpath}/${filename}

2、设置alias rm
chmod 755 /bin/rm.sh
echo “alias rm=’/bin/rm.sh'” >> /etc/bashrc

3、删除文件测试
rm /root/text.txt
此时,text.txt文件就会被mv 到 回收站目录 /data/Recycle

4、回收站机制是为了解决不小心误删问题,如果确定某个文件永久删除则直接删除
/bin/rm -rf filename

5、为防止回收站目录遗留文件过多而占用太多的硬盘资源,使用crontab定时删除历史文件
#清理30天前删除的回收站文件
vim /bin/clean_recycle.sh
#!/bin/sh
dirpath=/data/Recycle/
/bin/find ${dirpath} -mtime +30 -exec /bin/rm -rf {} \; # 30 天
#注意:此处是 /bin/rm -rf

#添加计划任务
crontab -e
1 5 * * 0 sh /bin/clean_recycle.sh
失误是无法避免的,我们猜不到失误会在何时,何地,何种情况下发生。既然有这种因素存在,能用机制解决就用机制解决吧。

发表评论

电子邮件地址不会被公开。