问题标签 [inotifywait]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8506 浏览

amazon-ec2 - Cannot install inotify on Amazon EC2

I have an AWS EC2 instance and wants to install inotify-tools. I've added the repository by executing the command: rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm then execute yum install inotify-tools but getting No package inotify-tools available.

Please help

0 投票
1 回答
1181 浏览

linux - 脚本运行时 inotifywait 错过事件

我正在运行一个 inotify 等待脚本,该脚本触发一个 bash 脚本来调用一个函数,以在文件被修改、创建或删除时同步我的文件数据库。

这实际上工作得很好,只是在 10 秒内我的同步脚本运行手表并没有获取任何额外的更改。在某些情况下,同步已经查看了目录,并且发生了 inotifywait 未检测到的其他更改,因为它尚未重新建立监视。

inofitywait 有没有办法触发脚本并仍然保持手表?

0 投票
2 回答
6375 浏览

docker - inotifywait in docker-container doesn't register changes

I have a script running inside a docker-container which listens for changes in a directory via inotifywait. The directory is mounted to the host-system via docker -v.

For some reason, inotifywait doesn't get triggered when files inside this directory is changed.

This is the problematic script-line

#xA;

The container is started like this (via fig)

#xA;

When I start the setup via fig up, the script is executed, but changes in the mounted volume don't trigger the inotify-barrier.

0 投票
1 回答
204 浏览

cat - 使用 cat :没有任何反应

我有这个脚本:

我虽然,一切都很好......但是猫,什么都不做。为什么以及如何解决这个问题?

0 投票
3 回答
1788 浏览

bash - 如何中断或消除 inotifywait 循环?

我有一个小脚本,可以使用inotifywait. 当某些事情发生变化时,一批文件会通过一个大约需要十秒钟运行的过程(编译、压缩、重组等)发送。

考虑以下示例:

如果您touch oli-test在另一个终端中运行几次,您会看到每个循环在继续之前完成。那个场景对我来说非常真实。如果我在文件正在处理时忘记保存文件,或者发现错误,事件会堆积起来,我正在等待几分钟。

令我震惊的是,有两种技术可以客观地使这个工作流程变得更好。我不确定什么是最简单或最好的,所以我将两者都介绍:

  1. 中断之前的运行,并立即重新启动。脚本化过程目前只是一组内联命令。我可以将它们分解为 Bash 函数,我并不热衷于将它们分解得更远。

  2. 对等待处理的事物列表进行去抖动处理,以便如果同时发生五个事件(或在它已经在处理时),它只会再次运行一次。

(或者两者都......因为我确信在某些情况下两者都会有用)

我也对不同的方法持开放态度,inotifywait但它们需要给我相同的结果并在 Ubuntu 上工作。

0 投票
1 回答
341 浏览

inotify - 使用 inotifywait 排队事件

初始化源目录和目标目录。

我希望在将文件复制到 srcdir 并-m进行持续监控时收到通知。

调用我的 python 脚本。

不幸的是,我的脚本有一段时间了,如果在myscript.py执行时还有其他文件被复制,我会错过这些事件。是否可以将事件排队并稍后处理?

另一种选择是我将myscript.py在后台运行,这可能会解决这个问题。

0 投票
1 回答
1348 浏览

bash - 在受监控目录中发送有关文件更改的电子邮件

如果服务器上员工文件夹中的文件发生更改,我想向我们公司的员工发送电子邮件通知。我有一个脚本,可以很好地使用 inotifywait 在每次文件更改时发送电子邮件。我想做的是在多个文件上传(假设 10 jpg 被上传到某人的员工文件夹)时只发送一封电子邮件。

此脚本会在每次文件更改时发送一封电子邮件:

最聪明的方法是什么?让 inotify 等待进一步的输入让我们说 2 分钟有意义吗?

顺便说一句,我为此使用 sendemail,因为 ISP 阻止了端口 25。

0 投票
1 回答
584 浏览

bash - 内存转储完成后如何让 inotifywait 停止?

因此,在寻找一种方法来确定何时创建文件以开始复制时,我发现了 inotifywait,但它似乎对我不起作用。

我正在使用 Redline 转储远程计算机的内存,并拥有脚本以便它可以找到正确的目录和文件,但是当我尝试设置 inotifywait 时,它只是挂起并且永远不会返回该文件是完整的(我想知道文件是否被 Redline 保持打开直到它完成整个扫描,即使实际的内存映像已经完成?)

我试过了

但似乎两者都不起作用。他们说创建了手表,但是在不再写入文件后很长时间就挂在那里了。而且我不知道如何检查远程计算机是否仍然在文件上打开句柄... cp 当然仍然有效,并且 tail -f 清楚地表明该文件没有被写入。是否有一个优雅的解决方案来通知我的脚本文件准备好复制?

0 投票
0 回答
410 浏览

bash - 延迟批处理监视目录树 (inotifywait) 中的文件

有一个目录树,由inotifywait. 我想做的是触发一个延迟(例如10秒)的脚本(例如,我可以从中移动文件),所以这个脚本不会在任何事件中触发,而是在“分组”事件中触发。

批处理脚本(它是更大脚本的一部分,最后发送电子邮件等)将文件移动到另一个目录的相应目录manage_all.sh

现在每 5 分钟在 cron 中运行一次,并且运行良好。但我想使用inotifywait,而不是再等 5 分钟。我已经尝试过了,但这并不好,因为它会触发manage_all.sh每个事件的脚本:

是否有可能(不重写脚本)“将事件组合在一起”,每 10 秒只启动一次脚本?

谢谢

0 投票
1 回答
631 浏览

linux - 为什么这个 inotifywait shellscript 会使用两个 PID?

我正在学习使用 inotifywait,特别是使用以下脚本:https ://unix.stackexchange.com/questions/24952/script-to-monitor-folder-for-new-files 。我不明白的是为什么我的脚本在我使用pid x.

为了更快地测试,我更改了链接脚本,以便您可以通过 $1 传递任何文件夹以进行观察,并保存为observe2.sh

为什么脚本进程会出现两次?在这个过程中的某个地方有叉子吗?有人可以解释为什么两个进程的这种行为正在发生吗?