Linux文件监控工具——inotify-tools
举例: ip.txt内容如下: 10.1.1.11 root 123
10.1.1.22 root 111
10.1.1.33 root 123456
10.1.1.44 root 54321 写法1: cat ip.txt | while read ip user pass
do
echo "$ip--$user--$pass"
done
我的常用
inotifywait -mr --timefmt "%Y/%m/%d %H:%M:%S" --exclude "(.swp|.inc|.svn|.rar|.tar.gz|.gz|.log|.zip|.bak)" --format "%w %f %T" -e create /var/www /var/www/test/ lal.php 2020/07/26 17:07:54
/var/www/test/ test1.php 2020/07/26 17:08:32
inotifywait -mrq --timefmt "%Y/%m/%d %H:%M:%S" --exclude "(.swp|.inc|.svn|.rar|.tar.gz|.gz|.log|.zip|.bak)" --format "%w %f %T" -e create /var/www |while read dir file time
do
echo "$dir ---- $file ----$time"
done;
/var/www/test/ ---- 99111.php ----2020/07/26 17:11:01
/var/www/test/ ---- lucky.qphp ----2020/07/26 17:11:17
# 新建的文件移动到一个目录(防止未知的后门程序)
inotifywait -mrq --timefmt "%Y/%m/%d %H:%M:%S" --exclude "(.swp|.inc|.svn|.rar|.tar.gz|.gz|.log|.zip|.bak|^/www/wwwroot/project/vendor/*|^/www/wwwroot/project/storage/*)" --format "%w %f %T" -e create /www/wwwroot/project-dir |while read dir file time
do
echo "$dir---$file---$time" >> /home/hack/create.log
mv $dir$file /home/hack
done;
(这里不能加 -o ,使用 screen 后台程序)
# 后台运行监控文件变化
inotifywait -mrqd --timefmt "%Y/%m/%d %H:%M:%S" --exclude "(.swp|.inc|.svn|.rar|.tar.gz|.gz|.log|.zip|.bak)" --format "%e %w %f %T" -e create,modify,delete,attrib -o '/home/hack.log' /var/www
#!/bin/bash DESTHOST=172.16.100.6
DESTHOSTDIR=/www/htdocs/
SRCDIR=/www/htdocs/ inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' \
-e create,delete,modify,attrib $SRCDIR | while read DATE TIME DIR FILE; do
$FILECHANGE=${DIR}${FILE} rsync -avze 'ssh' $SRCDIR root@${DESTHOST}:${DESTHOSTDIR} &>/dev/null && \
echo "At ${TIME} on ${DATE}, file $FILECHANGE was backed up via rsync" >> /var/log/filesync.log done
* inotifywait后面的--format '%e %w%f %T',决定了:while read能取到什么值。也就是主程序体中,能用到什么变量。
* 常见组合inotifywait -rmq
% H 小时(00..23)
% I 小时(01..12)
% k 小时(0..23)
% l 小时(1..12)
% M 分(00..59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00..59)
% T 时间(24小时制)(hh:mm:ss)
% X 显示时间的格式(%H:%M:%S)
% Z 时区 日期域
% a 星期几的简称( Sun..Sat)
% A 星期几的全称( Sunday..Saturday)
% b 月的简称(Jan..Dec)
% B 月的全称(January..December)
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
% d 一个月的第几天(01..31)
% D 日期(mm/dd/yy)
% h 和%b选项相同
% j 一年的第几天(001..366)
% m 月(01..12)
% w 一个星期的第几天(0代表星期天)
% W 一年的第几个星期(00..53,星期一为第一天)
% x 显示日期的格式(mm/dd/yy)
% y 年的最后两个数字( 1999则是99)
% Y 年(例如:1970,1996等)
其他:
安装:https://github.com/inotify-tools/inotify-tools/wiki#getting
https://www.cnblogs.com/caidingyu/p/11708851.html
https://blog.csdn.net/ab601026460/article/details/97380081
https://blog.csdn.net/huey2672/article/details/41895341
https://www.cnblogs.com/luoine/articles/4332380.html (rsync和notify 备份文件)
Linux文件监控工具——inotify-tools的更多相关文章
- linux设置rsync+inotify实时同步文件
linux设置rsync+inotify实时同步文件 应用场景: 同步接收方:test01 接收目录:/opt/software/test/a/ 同步发起方:test02 同步目录:/opt/so ...
- Linux 文件操作监控inotify功能及实现原理【转】
转自:http://blog.chinaunix.net/uid-26585427-id-5012973.html 1. inotify主要功能 它是一个内核用于通知用户空间程序文件系统变化的机制. ...
- MySQL实时性能监控工具doDBA tools
doDBA tools是什么? doDBA tools是一个基于控制台的远程监控工具,它不需要在本地/远程系统上安装任何软件,它可以实时收集操作系统.MySQL.InnoDB的实时性能状态数据,并可以 ...
- 管理员必备的Linux系统监控工具
管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图, 也就是正在运行进程.在默认情况下,显示系统 中CPU使用率最高的任务,并每5秒钟刷新一次. ...
- 在虚拟机的linux中利用VMware Tools实现与windows共享文件
很多人都知道安装"VMware Tools"可以实现与windows共享,但是其实它的功能远不止此.安装了"VMware Tools"后,虚拟机的网络. ...
- 【转】管理员必备的Linux系统监控工具
原文连接: 管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图,也就是正在运行进程.在默认情况下,显示系统中CPU使用率最高的任务,并每5秒钟刷 ...
- Linux系统性能监控工具介绍之-tsar
Linux系统性能监控工具介绍之-tsar Linux系统性能监控工具介绍之-tsar 2017-03-02 20:25 175人阅读 评论(0) 收藏 举报 分类: LINUX调优(9) 目 ...
- Linux Performance Analysis and Tools(Linux性能分析和工具)
首先来看一张图: 上面这张神一样的图出自国外一个Lead Performance Engineer(Brendan Gregg)的一次分享,几乎涵盖了一个系统的方方面面,任何人,如果没有完善的计算系统 ...
- window与linux文件传输工具
window与linux文件传输工具 [一般用于SecureCRT ssh中使用] 法一:直接用yum安装lrzsz(推荐) yum install lrzsz -y 注意:rhel安装完系统后 直接 ...
随机推荐
- LUMEN框架多数据库连接配置方法
LUMEN作为一款API导向很浓的框架,配置极简化,默认只支持一路DB配置 然而随着业务复杂度的提高,引入多个数据库连接似乎无法避免,下面介绍一下LUMEN连接多个数据库的配置方法: 修改.env文件 ...
- 第三十六章 Linux常用性能检测的指令
作为一个Linux运维人员,介绍下常用的性能检测指令! 一.uptime 命令返回的信息: 19:08:17 //系统当前时间 up 127 days, 3:00 ...
- day05 selenium基本使用
本文通过举例介绍selenium的基本使用方法,用来爬取京东笔记本电脑的商品信息,包括名称,url,价格,评价信息. from selenium import webdriver # 导入键盘Keys ...
- APP后台架构20191205
1.架构,架构与业务紧密相关,是有业务驱动的. 2.APP后台演进原则. App后台的架构是由业务规模驱动而演进的,App后台是为业务服务的,App后台的价值在于能为业务提供其所需要的功能,不应过度设 ...
- B. Once Again... 解析(思維、DP、LIS、矩陣冪)
Codeforce 582 B. Once Again... 解析(思維.DP.LIS.矩陣冪) 今天我們來看看CF582B 題目連結 題目 給你一個長度為\(n\)的數列\(a\),求\(a\)循環 ...
- B. Game of the Rows 解析(思維)
Codeforce 839 B. Game of the Rows 解析(思維) 今天我們來看看CF839B 題目連結 題目 有如下圖片所示的飛機座位\(n\)排,和\(k\)隊士兵,每隊數量不一定. ...
- Mysql优化建议
Mysql优化建议: (1)CPU要更快,而不是更多.因为mysql不支持多个处理器并发处理一条sql,所以正常情况下不需要考虑更多的CPU.当然,你的系统中的对mysql的并发很高时,多核可以解决一 ...
- CodeForces 1327F AND Segments
题意 给三个整数 \(n,k,m\) 和 \(m\) 个限制 \((l_i,r_i,x_i)\),求有多少个长度为 \(n\) 的序列 \(a\) 满足: 对于 \(1\leq i\leq n\) 有 ...
- Luogu P3262 [JLOI2015]战争调度
题意 给定一棵高度为 \(n\) 的完全二叉树,可以将节点设置成两种状态.如果某个叶子 \(x\) 的状态为 \(i\) 同时他的某个祖先也为 \(i\),那么这个叶子就会对祖先产生 \(f_{x,i ...
- MarkDown及Typora文本编辑器
文章介绍主要介绍MarkDown语法和与之能够配套使用的文本编辑器Typora的下载使用 1. MarkDown简介 MarkDown是一种纯文本标记语言,其书写与txt.word文档类似: 所有网站 ...