#化鲲为鹏,我有话说# 鲲鹏服务器自定义回收站

网友投稿 546 2022-05-28

一、背景

在鲲鹏linux服务器,俗话说的真好,常在河边走,怎能不湿鞋,虽然目前在云平台上面,有定时快照来恢复数据,但是如果仅仅删除来一个小文件,但是立即就后悔了,想撤销,此时水用快照回滚恢复显得大材小用了,在鲲鹏服务器上面我们可以自定义回收站,定时任务去清理即可。

之前由于是在root的家目录,本想这/tmp/下有很多系统扫描文件,系统性的tab了一下,由于是自己的监控测试服务器也没多想,tab了一下应该是有多个文件,之后直接跟*然后删除全部扫描文件,但发现回车的一瞬间,发现/tmp只有一个扫描文件,瞬间头皮发麻,虽然只是自己的测试服务器,但下面也有很多脚本和数据文件,心里又气又恨。查看了下测试服务器只有一个根也没其他磁盘,此时ext3grep/extundelete这类工具就没办法了,想想也是有其他办法,但比较麻烦,算了就当买个教训吧,里面写个自定义rm命令脚本,来避免此类事情的发生。

二、思路

由于是过度自信,操作执行rm -rf手速感人,也没多看,因此自定义rm命令即可

通过alias rm来移动文件到一个回收站目录

定期的在系统磁盘允许可控的使用率情况下来对文件进行删除

因此写了一下脚本来实现,与其说放勿删,不如说是延迟删除更为确切

git地址

#!/bin/bash # function:自定义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 <> $CRON_FILE echo "删除目录:$TRASH_DIR" echo "删除脚本:$CMD_SCRIPTS" echo "请执行:source $BASHRC 来加载文件或退出当前shell重新登录"

#化鲲为鹏,我有话说# 鲲鹏服务器自定义回收站

三、测试

运行脚本替换rm命令

之后推出重新登录,或按提示source文件加载生效

脚本生成文件

可以看到在脚本运行用户的家目录,会生成回收站目录和文件删除脚本,会创建定时任务定时清理回收站,可以根据后期磁盘情况,自定义周期清理,

测试文件删除

对文件或目录进行rm命令操作,可以发现是已经成功移动到回收站,定时任务会定时清理该目录下的东西,延迟我们日常rm -rf误操作命令

四、扩展

作为工程师,日常操作一定还是要小心

使用云服务器,做好定时快照策略

如果为传统服务器做好文件异地备份

安装使用数据恢复软件工具ext3grep、extundelete等第一时间恢复误操作数据。

鲲鹏

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:百度云下载加速的
下一篇:Android之手机文件夹目录详解
相关文章