linux怎么实时查看目录下是否有文件生成

安装inotify-tools

$ sudo apt install inotify-tools -y

创建数据和日志目录

$ sudo mkdir -p /tmp/inotifywait/log/ /tmp/inotifywait/data/

创建日志文件

$ touch /tmp/inotifywait/log/data.log

假设在 /tmp/inotifywait/data/ 中不断生成(删除,移动)数据,/tmp/inotifywait/log/data.log 文件中记录日志

开启监控 (这里简称“会话1”)

$ inotifywait -mrq --timefmt ‘%y-%m-%d %H:%M‘ --format ‘%T %e %w%f‘ -e create -e delete -e move -e moved_to -e moved_from -e delete_self  /tmp/inotifywait/data/

再开一会话终端(这里简称“会话2”),并切换到到 /tmp/inotifywait/data/ 目录,我们在里面使用 Crunch 创建一些字典文件(或者你在里面随便创建,移动,删除些什么),不清楚 Crunch 是什么,怎么用的请参考《crunch--字典生成工具

$ cd /tmp/inotifywait/data/
$ crunch 5 5 -b 20mib -o START

这时,在会话1中会输出

18-11-06 17:06 CREATE /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_TO /tmp/inotifywait/data/aaaaa-hqwmu.txt
18-11-06 17:06 CREATE /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_TO /tmp/inotifywait/data/hqwmv-phszp.txt
18-11-06 17:06 CREATE /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_TO /tmp/inotifywait/data/phszq-wypmk.txt
18-11-06 17:06 CREATE /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:06 MOVED_TO /tmp/inotifywait/data/wypml-zzzzz.txt

后台运行

Ctrl+C 在会话1中退出notifywait,采用后台运行的方式记录日志

# 监控后台运行并输出到文件

$ inotifywait -mrqd --timefmt ‘%y-%m-%d %H:%M‘ --format ‘%T %e %w%f‘ -e create -e delete -e move -e moved_to -e moved_from -e delete_self -o /tmp/inotifywait/log/data.log  /tmp/inotifywait/data/

删除/tmp/inotifywait/data/目录下的所有文件,重新生成字典文件(过程略)

$ cat  /tmp/inotifywait/log/data.log

18-11-06 17:34 DELETE /tmp/inotifywait/data/aaaaa-hqwmu.txt
18-11-06 17:34 DELETE /tmp/inotifywait/data/hqwmv-phszp.txt
18-11-06 17:34 DELETE /tmp/inotifywait/data/phszq-wypmk.txt
18-11-06 17:34 DELETE /tmp/inotifywait/data/wypml-zzzzz.txt
18-11-06 17:34 CREATE /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_TO /tmp/inotifywait/data/aaaaa-hqwmu.txt
18-11-06 17:34 CREATE /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_TO /tmp/inotifywait/data/hqwmv-phszp.txt
18-11-06 17:34 CREATE /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_TO /tmp/inotifywait/data/phszq-wypmk.txt
18-11-06 17:34 CREATE /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_FROM /tmp/inotifywait/data/START
18-11-06 17:34 MOVED_TO /tmp/inotifywait/data/wypml-zzzzz.txt

原文地址:https://www.cnblogs.com/wpjamer/p/9916842.html

时间: 2024-10-10 10:15:32

linux怎么实时查看目录下是否有文件生成的相关文章

python学习- 打印最常用的10条linux命令和查找目录下重复的文件

一.打印最常用的10条linux命令 #!/usr/bin/python #coding=utf-8 import os from collections import Counter c = Counter() with open(os.path.expanduser('~/.bash_history')) as f: for line in f: cmd = line.strip().split() if cmd: c[cmd[0]]+=1 print c.most_common(10) 效

Linux递归解压缩一个目录下的全部文件

gunzip -r hongchangfirst/data 怎样递归删除那些剩余的非log结尾的文件? 先列出确认一下: find hongchangfirst/data -type f ! -name "*.log" 然后真正的删除: find hongchangfirst/data -type f ! -name "*.log" -exec rm -f {} \; 记住后边-exec一定要加空格,否则会出现find: missing argument to `-

Linux系统/etc/sysconfig目录下没有iptables文件

在新安装的linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件. 解决办法: 1.键入以下命令,新建文件 2.复制以下代码,此代码默认开启80,3306,22端口 # Firewall configuration written by system-config-firewall# # Manual customization of this file is not recommended.*filter:INPU

PHP查看目录下的所有文件

[1].[代码] [PHP]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 <?php /** * 遍历目录,结果存入数组.支持php4及以上.php5以后可用scandir()函数代替while循环. * @para

linux 查看目录下文件占用情况

系统盘满会造成网卡不能编辑  df  -l 对于du命令,-h表示 查看以M 为单位显示文件大小结果,-s 统计此目录中所有文件大小总和. du * / --exclude=home --exclude=bkup   排除 /home  /backup 目录下的不算,查看哪个占用空间最大 linux 查看目录下文件占用情况

查找目录下的所有文件中是否含有某个字符串 linux

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^ :只匹配行首.   如^a 匹配以a开头的行abc,

linux ls (查看目录信息)

ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等.ls 命令在日常的linux操作中用的很多! 1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目录和文件. 3. 常用参数: -a, –all 列出目录下的所有文件,包括以 . 开头

linux复制指定目录下的全部文件到另一个目录中

linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp -r dir1 dir2即可.如果dir2目录已存在,则需要使用cp -r dir1/. dir2如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求.ps:di

linux复制指定目录下的全部文件到另一个目录

linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp -r dir1 dir2即可.如果dir2目录已存在,则需要使用cp -r dir1/. dir2如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求.ps:di