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

2023-12-11

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

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

inotifywait --recursive --exclude '.DS_Store' -e create -e moved_to -m /media/server/Staff/christoph |
    while read path action file ; do
        echo "The file '$file' appeared in directory '$path' via '$action'"
        sendEmail -f [email protected] -t [email protected] -s smtpout.secureserver.net:80 -xu [email protected] -xp password \
         -u ""The file $file appeared in your directory"" -m ""To view your file go to $path""
done

解决这个问题最明智的方法是什么?让 inotify 等待进一步的输入(比如说 2 分钟)是否有意义?

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


我可能会通过将修改通知写入文件来做到这一点(如果我这样做,我可能会使用 SQLite 数据库),然后每隔几分钟运行一个 cron 作业来检查数据库并发送聚合电子邮件。

另一种选择是使用 inotifywait 触发脚本来监视该特定文件,它只会循环检查文件的大小/修改时间,然后休眠一段时间。一旦文件停止增长,脚本就会将文件信息附加到消息文件中。 cron 作业将发送消息文件(如果它不为空),然后截断该文件。这将避免从日志文件读取和写入数据的需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发送有关受监控目录中文件更改的电子邮件 的相关文章

  • bash 自动完成:添加可能完成的描述

    是否可以使 bash 自动完成功能看起来像 Cisco IOS shell 中一样 我的意思是为每个完成添加简短的描述 如下所示 telnet 10 10 10 TAB Pressed 10 10 10 10 routerA 10 10 1
  • 从 Ruby 运行 shell 命令:在显示输出时捕获输出?

    我有个问题 我想从另一个 ruby 脚本运行一个 ruby 脚本并捕获它的输出信息 同时让它也输出到屏幕上 runner usr bin env ruby print Enter your password password gets ch
  • AttributeError:发送电子邮件时“列表”对象没有属性“编码”

    我想要这段代码 我可以有一个 csv 文件 其中一行电子邮件旁边有一排姓名 然后通过电子邮件发送列表中的每封电子邮件 但消息中包含每个姓名 这是我的代码 import smtplib from email mime text import
  • 如何显示 NUL 分隔数据的中间管道结果?

    如何组合以下两个命令 find print0 grep z pattern tr 0 n find print0 grep z pattern xargs 0 my command 进入单个管道 如果我不需要 NUL 分隔符那么我可以这样做
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 将 JSON 数组转换为 bash 数组并保留空格

    我想将 JSON 文件转换为 bash 字符串数组 稍后我可以对其进行迭代 我的JSON结构如下 USERID TMCCP CREATED DATE 31 01 2020 17 52 USERID TMCCP CREATED DATE 31
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • Python3 http.server:将日志保存到文件中

    我使用Python3 6编写了一个简单的HTTP服务器来重定向所有请求 我写的文件可以找到here https github com kmahyyg learn py3 blob master antiscanhttp py 我可以在 Ub
  • 如何剪切(1) 个驼峰字?

    Bash 中有没有一种简单的方法可以将驼峰式单词拆分为其组成词 例如 我想将 aCertainCamelCasedWord 拆分为 a certain Camel Cased Word 并能够选择我感兴趣的那些字段 当单词分隔符是下划线时
  • bash 中的“declare -r”和“readonly”有什么区别?

    在 bash 中 有什么区别declare r and readonly declare r a a1 readonly b b1 我不知道该选择哪个 tl dr readonly使用默认范围global甚至在函数内部 declare使用范
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 如何将 bash 脚本的整个输出保存到文件

    我正在尝试将 bash 脚本的整个输出保存到文件中 我目前在代码开头有一个参数 ip 地址 如下所示 bin bash USAGE Usage 0
  • 使用 php 脚本的电子邮件管道

    你好 我想将所有电子邮件 到达我的收件箱 转发到 php 脚本并检索电子邮件内容并将其保存在文件中 因此 我正确地添加了具有管道路径的电子邮件转发器 转发地址 电子邮件受保护 cdn cgi l email protection 管道到程序
  • php 邮件特殊字符 utf8

    我有以下脚本 在电子邮件中 主题 Testmail Special Characters Body Hi there this isn t somet
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • PHP语言问题

    我有一个 php 页面 它将邮件发送到特定电子邮件 其中包含此页面表单中的数据 邮件必须以网站的母语 阿拉伯语 发送 但是当我单击表单上的提交按钮时 收到的邮件一半可读 阿拉伯语 另一部分不可读 符号 我想知道如何解决这个问题并且能够发送邮
  • 当我已经将电子邮件作为字符串时,如何发送电子邮件?

    实际上 我正在尝试发送一些模板电子邮件 以便我可以测试一些处理邮箱读取的组件 我可以加载 Outlook 并发送几封电子邮件 但我正在寻找一种可以一次读取数千封电子邮件的解决方案 因此我需要批量发送这些模板来测试阅读代码 当我说批量发送时
  • 使用 ASP.Net vNext 发送邮件

    一般来说 在传统的 ASP Net 和 Net 中 发送邮件是通过System Net Mail所在的类System dll 现在有了KRE vNext好像就没有了System Net Mail作为一个单独的包 参考 net453 框架在p
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck

随机推荐

  • 如何使用 TCPDF 制作包含 2D 条形码的 2x6 标签,而不使用列或第 3 方类?

    三周以来 我想我就是这么慢 我尝试使用 TCPDF 自己的示例以及在该网站上找到的一些建议来弄清楚如何使用数据库记录来做到这一点 当其他人询问如何使用第 3 方补丁 类 来使事情顺利进行时 Asuni 先生回应了一些帮助请求 只是它可以在没
  • 如何在rails中使用jsonb

    我有一个以 Postgresql 9 4 作为后端的 Rails 项目 我有这样的专栏 t json slot details null false default 如何将其从 JSON 更改为 JSONB 我应该添加索引并将其更改为 JS
  • 如何使用 mysql udf json_extract 0.4.0 从 json 数组中提取行?

    我有一些 sql 想要传递到 mysql 存储过程中 我正在使用 mysql json udfs 0 4 0 labs json udfs linux glibc2 5 x86 64 中的 json 函数 我们正在运行 mysql 5 5
  • 对空数组使用 $push

    我有一个 mongo 文档 其中包含名为 events 的数组字段 该字段有时可能为空 我在用着 push将元素添加到 事件 数组中 问题是 当 events 字段为空时它无法工作 例如 如果在数据库中它看起来像这样 id ObjectId
  • 如何修剪字符串中的空格? [复制]

    这个问题在这里已经有答案了 我正在为 J2ME 应用程序编写此函数 因此我没有一些可用的更高级 现代的 Java 类 我正进入 状态java lang ArrayIndexOutOfBoundsException关于这一点 所以 显然它不喜
  • ASP javascript radiobutton启用禁用不包含在回发ajax中

    问题就在这里 我有一个单选按钮组 两个单选按钮 这些人最初都是残疾的 当用户单击复选框时 我通过设置动态启用 JavaScript 中的单选按钮rbtn disabled false 并对其父级 span 元素 执行相同操作 以便它在 IE
  • div 内的 JQuery .load()

    这让我抓狂 我搜索并尝试了一堆看起来应该有效的建议 所以我一定是做了一些愚蠢的事情 document ready function trigger click function var link this attr href target
  • R数据框字符串包含:第1列是否包含第2列?

    我有一个包含两列的数据框 Surname Email 1 house email protected 2 wilson email protected 我想创建一个逻辑向量来检查是否Surname包含在Email 因此结果应该是 Surna
  • 如何在 Flexbox 内获取具有外部高度和内部宽度的 div

    Problem 假设我们有一个具有给定宽度和高度的垂直 即 flex direction column Flexbox 容器 Flexbox 包含 div 每个 div 包含一个图像 所有 div 和图像都应该以相同的百分比收缩 增长以填充
  • Android Studio 模拟器找不到 wglgetextensionsstringarb

    When I try to start the emulator suddenly I started getting this error 几天前一切正常 如果我禁用 GPU 加速 那么它可以工作 但速度非常慢 我尝试在 BIOS 中重新
  • 如何打破条形图中的轴(也许使用plotrix gap.barplot)?

    我发现了很多解决轴中断和间隙的问题和答案 但大多数都是低质量的 SO 意义上的 因为没有示例代码 没有图片或复杂的代码 这就是我问的原因 我尝试使用library plotrix 如果有一个没有它和 或另一个库的解决方案 那对我来说也可以
  • 在 ui:repeat 或 p:dataTable 中使用 p:graphicImage

    我有一个 Bean 它有一个对象列表 其中包含代表数据库中图像的 StreamedContent 对象 Primefaces 类型 现在我想在 JSF 2 0 页面 使用 Primefaces 中迭代此列表 并显示图像 以这种方式仅显示一张
  • 如何防止 PrimeFaces 向导的下一步按钮激活客户端验证?

    我的 JSF 2 2 PrimeFaces 应用程序中有一个带有三个选项卡的向导 在每个选项卡中 我都有一个表单来捕获用户的数据 每个表单都有一些验证 现在 当我单击 下一步 进入下一个选项卡时 它正在验证表单中的数据 我不希望这种事发生
  • Google Api 获取用户电子邮件地址

    我正在使用 Google Api PHP 客户端登录用户 我想获取用户的电子邮件地址 我有以下代码 Scope client gt setScopes https www googleapis com auth userinfo profi
  • @function 处的 Mingw32 汇编器错误

    我正在使用 mingw32 将一个项目移植到 Windows 该项目依赖于一个名为 libfec 的库 Libfec 有大量汇编代码来优化内部工作 在 Linux 使用 GCC 5 4 中 该库编译得很好 今天我尝试使用 mingw32 以
  • 从 PHP 写入图像文件时出错

    我正在尝试从 blob 写入图像文件 if POST logoFilename undefined logoFile fopen POST logoFilename w or die Cannot create POST logoFilen
  • Appcelerator 5.2GA 中的 Facebook 模块不再是 64 位

    Facebook 模块已停止工作 我正在 appcelerator 中开发钛金应用程序 当我尝试构建我的应用程序时 出现以下错误 INFO Invoking xcodebuild ERROR BUILD FAILED ERROR The f
  • 使用 Perl 提取特定行

    我正在编写一个 perl 程序来提取我匹配的两个模式之间的行 例如下面的文本文件有 6 行 我正在匹配负载均衡器和终端 我想要得到中间的 4 条线 load balancer new old good bad end 我的问题是如何将负载均
  • 对如何构建 GUI (wxpython) 感到困惑

    我从一本书转到另一本书 从谷歌搜索到另一本书 我注意到每一本书都以完全不同的方式启动主窗口 我不想养成坏习惯 所以有人可以给我最好的这些选择以及为什么这是更好的方法 以下是我见过的所有方法 A 类 iFrame wx Frame 定义ini
  • 发送有关受监控目录中文件更改的电子邮件

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