我有一个非常具体的问题。我用的是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执行之间的文件夹中只出现一个文件。如果你不能保证这一点(即在一分钟内超过一个文件),你可能需要遍历文件夹的内容。