文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux自定义防误删脚本的思路与测试

2022-06-04 23:49

关注
目录

一、背景

俗话说的真好,常在河边走,怎能不湿鞋,本想删除服务器上临时的系统扫描文件如下图:

Linux自定义防误删脚本的思路与测试

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

二、思路

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

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

git地址


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

三、测试

运行脚本替换rm命令

Linux自定义防误删脚本的思路与测试

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

脚本生成文件

Linux自定义防误删脚本的思路与测试

Linux自定义防误删脚本的思路与测试

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

测试文件删除

Linux自定义防误删脚本的思路与测试

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

四、扩展

附:Linux中利用chattr命令防止文件被删除

我们都知道,Linux是个很强大的系统。每个文件都有一定的权限,有的用户可以处理,有的只有root用户可以删除。但人总会有失误的时候,比如我们在root用户里用命令“sudo rm -fr ‘文件夹名' ”,这会使得我们很沮丧。有时候,我们把一个重要的文件夹放在主文件夹里,有时一不小心,我们就会把它误删了。

哈哈,Linux里有一个十分有用的命令“chattr”, 它会很好的解决我们的问题。

1. 概述

linux中键入“man chattr”,其描述为“chattr changes the file attributes on a Linux file system.”从这我们很容易得出:在Linux文件系统里,chattr是可以改变文件的属性。

2. 具体的语法格式

chattr [ -RVf ] [ -v version ] [ mode ] files...[1]

注:中括号是可选选项,而 files 表明其为参数,必须要有。如果您加上版本号(-v),您必须 键入版本号。如:chattr -v 1.8 files

3. 重要选项详细解释

接下来我们分析,一些对我们有用的选项

4. 文件属性

1)mode 选项

就是[1]中,[mode] 选项,而此选项格式为 “+文件属性”或“-文件属性”或“=文件属性”

2)文件属性

注:c,s,u不能在ext2,ext3,ext4文件系统

如果你的文件系统是其中之一,你就使用a属性,可以避免你的文件被删除。

如:sudo chattr -V +a file

解除锁定:

sudo chattr -V -a file

五、总结

到此这篇关于Linux自定义防误删脚本的文章就介绍到这了,更多相关Linux自定义防误删脚本内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯