linux - 检测到一个新文件,并用 mpack 发送它

标签 linux email debian attachment

我有一个非常具体的问题。我正在使用 Debian。 我有一个 FTP 文件夹,应用程序将在其中上传 pdf 文件,该文件将存储在 ftpfolder/EMAIL_ADDRESS 中,文件名将是 CURRENT_DATE_AND_TIME。

我想做的是每当上传新文件时,在任一 EMAIL_ADDRESS 文件夹中,使用 mpack 发送文件。正如您可能已经猜到的那样,我希望将文件发送到文件夹的名称,并附上文件。

所以要分解它,我需要:

  • 检测何时上传新文件
  • 从文件夹名中提取地址
  • 提取文件名,并用mpack附加
  • 发送

我对如何解决这个问题感到困惑,所以非常感谢任何建议!

最佳答案

cron 会启动一个脚本来完成您需要的所有工作,然后将在另一个文件夹中找到的文件存档,怎么样?

#!/usr/bin/env bash
cd ftpfolder; 
for email in *; do 
    mpack -s "New PDF file uploaded" $email/* $email; 
    mv $email /archivefolder; 
done

优点:

  • 简单

缺点:

  • 您必须具有写入权限才能移动文件
  • 弄乱原始文件

请注意,上述脚本假定在 cron 执行之间的文件夹中只出现一个文件。如果您不能保证(即预计一分钟内有多个文件),您可能必须遍历文件夹内容。

关于linux - 检测到一个新文件,并用 mpack 发送它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40248108/

相关文章:

linux - Scons 在 gpsd 中发现无效语法

c - PTRACE_SYSEMU 和 PTRACE_SYSEMU_SINGLESTEP 未在 x64 或 x86 上定义?

linux - 如何停止使用 Perl 运行的进程?

java - 通过 SMTP 发送电子邮件时出错

c# - WP7邮件客户端是否使用ActiveSync

php - 在 debian 上使用 php7.0 和 apache 服务器

python - 指定要在其上运行 python 脚本的核心。系统

java - 使用 java 在终端中读取 postgres 表

c# - Outlook 窗口阻止访问 Windows.Forms

linux - Shell getopts 用于获取参数