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

Detect a new file, and send it with mpack

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

我想做的是每当上传新文件时,在 EMAIL_ADDRESS 文件夹中的任何一个中,使用 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 执行之间的文件夹中只出现一个文件。如果您不能保证(即预计一分钟内有多个文件),您可能必须遍历文件夹内容。