在Linux系统管理中,监控目录和文件的变化是确保系统安全和稳定的重要手段。本文将详细介绍一个用Shell脚本实现的简单但实用的监控方案,特别适用于服务器被频繁挂马的情况,帮助管理员及时发现异常活动。 我们创建一个名为`initial.sh`的脚本,它的目的是保存被监控目录的原始状态。在这个示例中,我们监控`/root`目录,但你可以根据实际需求修改`DIR`变量。脚本通过`find`命令遍历指定目录下的所有文件,然后使用`du -sb`命令获取每个文件的大小和路径,最后将这些信息写入临时文件`$TMP_A`。这样,我们就有了一个基准,可以用来比较后续的文件变化。 接下来,我们编写`monitor.sh`脚本,这个脚本会定期运行,检查目录是否发生变动。同样,`DIR`变量设置为需要监控的目录。脚本首先创建一个日期变量`DATE`,用于记录变更发生的时间。然后,它再次使用`find`和`du -sb`组合获取当前目录的状态,并将结果保存在`$TMP_B`中。接着,通过`diff`命令比较`$TMP_A`(原始状态)和`$TMP_B`(当前状态),如果存在差异,就将变化写入日志文件`$LOG`。 当`diff`命令返回非空结果时,`DIFF`变量会被赋值。如果`DIFF`为空,表示没有变化,脚本会将"Nothing change"写入日志。否则,使用`awk`、`sort`、`uniq`和`sed`等命令处理`DIFF`,提取出发生改变的文件名,并按大小排序,去除重复项,只保留已修改的文件。这些信息将写入`$TMP_C`,并追加到日志文件中。同时,脚本还会记录变更发生的日期。如果`$TMP_C`非空,表示有文件被修改,此时会更新`$TMP_A`,用当前目录状态覆盖原始状态,以便下一次比较。 脚本会在日志文件末尾添加一条分割线,并删除临时文件`$TMP_B`和`$TMP_C`,以保持磁盘整洁。 这个脚本监控方案的核心原理是通过比较文件大小的变化来检测文件的增删改操作。由于`du -sb`会返回每个文件的大小,因此如果文件大小改变或文件新增、删除,`diff`命令将能够检测到这些差异。 在实际使用中,可以将`monitor.sh`脚本加入到cron定时任务,设置合适的频率运行,如每分钟或每小时,以实现自动化监控。同时,为了更全面的监控,可以考虑结合其他工具,如`inotify-tools`,它能提供实时事件通知,更及时地捕获文件系统变化。 总结来说,这个Shell脚本监控方案提供了基础的目录和文件变化监控功能,对于防止恶意软件活动和监控服务器健康状况非常有用。不过,根据具体需求,可能需要对其进行调整或与其他工具结合使用,以达到最佳的监控效果。
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![sh](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/12846598/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 5
- 资源: 892
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)