、检查是否有安装inotify

rpm -qa inotify-tools

2、没有先安装epol源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

3、安装

yum install inotify-tools -y

4、脚本

#!/bin/bash

CHECKDIR="/root/test"    #监控目录路径
LOG="/root/tmp/inot.log" #日志存放路径 function CheckDir {
inotifywait -mrq --timefmt '%y-%m-%d %H:%M' --format '%T %f %e' -e 'create,delete,modify,moved_to' $CHECKDIR|while read event
do
INO_TIME=$(echo $event | awk '{print $1,$2}') # 把inotify输出切割 把时间部分赋值给INO_TIME
INO_FILE=$(echo $event | awk '{print $3}') # 把inotify输出切割 把文件路径部分赋值给INO_FILE
INO_EVENT=$(echo $event | awk '{print $4}') # 把inotify输出切割 把事件类型部分赋值给INO_EVENT if [[ $INO_EVENT = 'CREATE' ]] && [[ $INO_FILE != .* ]];then # 判断事件类型(create)
echo "`date '+%Y-%m-%d %H:%M'` create file: $INO_FILE" >> $LOG
elif [[ $INO_EVENT = 'CREATE,ISDIR' ]];then
echo "`date '+%Y-%m-%d %H:%M'` create dir: $INO_FILE" >> $LOG
fi if [[ $INO_EVENT = 'DELETE' ]] && [[ $INO_FILE != .* ]];then # 判断事件类型(delete)
echo "`date '+%Y-%m-%d %H:%M'` delete file: $INO_FILE" >> $LOG
elif [[ $INO_EVENT = 'DELETE,ISDIR' ]];then
echo "`date '+%Y-%m-%d %H:%M'` delete dir: $INO_FILE" >> $LOG
fi if [[ $INO_EVENT = 'MODIFY' ]] && [[ $INO_FILE != .* ]];then # 判断事件类型(modify)
echo "`date '+%Y-%m-%d %H:%M'` modify file: $INO_FILE" >> $LOG
fi done
} CheckDir

5、运行脚本

1)测试: ./monitor.sh
2) 后台运行 nohup ./monitor.sh

centos监控web目录www下的文件是否被黑、挂马的脚本的更多相关文章

  1. [Erlang06]在Erlang shell怎么在目录A下编译目录B下的文件,并把生成文件统一放置目录C?

    问题描述: 我们想快速测试一个小功能,第一个反应就是打开Erl shell 直接输入,但是当想测试一个复杂的函数时,一般会写成一个*.erl文件,然后在shell下: cd(FileDir). c(F ...

  2. centos 7.0 查看根目录下所有文件夹

    centos 7.0最小化安装 第一行是登录 [root@localhost ~]# [root@localhost ~]# cd ../ [root@localhost /]# ls bin dev ...

  3. c# 根据读取的配置信息删除某个目录及下所有文件

    #region 定时删除目录文件 /// <summary> /// 定时删除目录文件 /// northeasttycoon /// </summary> /// <p ...

  4. 多目录下多文件 makefile编写

    前面已经分享了单目录项下多文件的makefile的编写,现在来看看多目录下多文件makefile的编写: 在做项目时,一般文件都会分几个目录来存放:基本的是  include/  bin/ src/ ...

  5. shell获取目录下所有文件夹的名称并输出

    获取指定目录/usr/下所有文件夹的名称并输出: shell代码: #!/bin/bash #方法一 dir=$(ls -l /usr/ |awk '/^d/ {print $NF}') for i ...

  6. Web攻防系列教程之文件上传攻防解析(转载)

    Web攻防系列教程之文件上传攻防解析: 文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题.但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题.本文将对文件上传的 ...

  7. java利用WatchService实时监控某个目录下的文件变化并按行解析(注:附源代码)

    首先说下需求:通过ftp上传约定格式的文件到服务器指定目录下,应用程序能实时监控该目录下文件变化,如果上传的文件格式符合要求,将将按照每一行读取解析再写入到数据库,解析完之后再将文件改名. 一. 一开 ...

  8. [Erlang27]如何监控指定目录下的*.beam文件,如果有改动就更新到指定的节点?

    在Erlang In Anger第二章中讲到使用rebar来创建一个Erlang项目(Application或Project) 但美中不足的只是给出了指引,但没有给出详细的步骤. 下面我们就使用reb ...

  9. linux 系统监控某目录下文件及文件夹的变化

    inotifywait 是一个可以实时监控文件变动的工具,它利用linux内核中的inotify机制实现监控功能. 查看内核版本 [root@Oracle ~]# uname -r 2.6.32-22 ...

随机推荐

  1. scratch中如何实现面向鼠标指针的相反方向?

    你可以试试设置面向鼠标指针,然后再角色进行翻转,而且要是面向反方向的话,鼠标指针是自己可以调节的,面向指针也可以的 scratch学习视频 链接:https://pan.baidu.com/s/1qX ...

  2. 域控安全-EventID 4662&Powershell将Schema下Objects的schemaIDGUID属性离线保存

    首先看一下EventID 4662的样子 0x01 什么情况下会产生该日志呢? 该日志出现在对Active Directory Object设置SACL时会出现 0x02 为什么要监控该日志呢? 1. ...

  3. Erlang语言之简述及安装

    1. 简述 Erlang在1991年由爱立信公司向用户推出了第一个版本,经过不断的改进完善和发展,在1996年爱立信又为所有的Erlang用户提供了一个非常实用且稳定的OTP软件库并在1998年发布了 ...

  4. Git应用详解第七讲:Git refspec与远程分支的重要操作

    前言 前情提要:Git应用详解第六讲:Git协作与Git pull常见问题 这一节来介绍本地仓库与远程仓库的分支映射关系:git refspec.彻底弄清楚本地仓库到底是如何与远程仓库进行联系的. 一 ...

  5. go1.13errors的用法

    go1.13errors的用法 前言 基本用法 fmt.Errorf Unwrap errors.Is As 扩展 参考 go1.13errors的用法 前言 go 1.13发布了error的一些新的 ...

  6. mysql 使用技巧 分页limit

    mysql 分页使用 limit关键字,limit x,y (x代表从哪条数据开始,y代表页面大小.mysql第一条数据在limit计算时索引为0) 前10条 limit , 从第1条开始的10条 l ...

  7. AJ学IOS 之微博项目实战(7)程序启动新特性用UICollectionViewController实现

    AJ分享,必须精品 一:效果 这里实现了大多数app都会有的软件新特性的功能,用的是UICollectionViewController实现的 二:思路 这里用了UICollectionViewCon ...

  8. \r\n的意思

    \n是换行,英文是New line.\r是回车,英文是Carriage return. 1.换行符(line break),是一种计算机语言表达方式,它的作用是跳到下一个新行.在不同的语言中,代码也有 ...

  9. 亲测可以使用的Axmath和MathPix插入word公式

    Axmath破解版链接 链接:https://pan.baidu.com/s/1Phak8mc3msKAMQ6H_5EN5g 提取码:glti MathPixTool和Axmath共同使用向word插 ...

  10. linux下DNS服务器搭建,正反向解析配置

    dns服务器之前自己搭建玩过,一段时间不搞,加上当时没写文档,基本忘光光了,这次老实了,写个文档记下来,方便以后查阅. 1.服务器准备 为了避免不必要的问题,关闭防火墙,关闭selinux,hosts ...