检测到一个新文件,并用 mpack 发送它
Detect a new file, and send it with mpack
我有一个非常具体的问题。我正在使用 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 执行之间的文件夹中只出现一个文件。如果您不能保证(即预计一分钟内有多个文件),您可能必须遍历文件夹内容。
我有一个非常具体的问题。我正在使用 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 执行之间的文件夹中只出现一个文件。如果您不能保证(即预计一分钟内有多个文件),您可能必须遍历文件夹内容。