我在Raspberry Pi(Ubuntu)上使用软件Motion
连接到我的网络安全摄像头。当本相机检测到移动时,它会每秒将JPG转储到此Ubuntu机器上的/ tmp / camera文件夹中。
Motion允许您在每张照片保存后(每秒一次)或在移动停止后(在所有照片结束时)运行自定义Bash脚本。
我想要的是将这些图像发送到我的手机(最终也将它们FTP)。目前,我正在使用该选项在每个图片保存上运行脚本,使用Ubuntu上的“mail”附加最近保存的文件。这不能很好地工作,因为一个'运动'可能有10个图像帧,这意味着我会收到10个不同的电子邮件。
此当前脚本只是:on_picture_save echo "Motion Detected at %Y-%m-%d %T" | mail -a %f -s "Subject user@example.com
所以我想我需要一个自定义的Bash脚本,我设置为在检测到的动作结束时运行。它需要附加来自给定文件夹的所有JPG(不是压缩或我无法在我的移动电子邮件客户端上看到它们),然后通过电子邮件将它们发送到给定的地址。
有没有办法遍历给定文件夹中的所有JPG并附加到单个电子邮件?是否有可能确保nullmailer或mail实际发送图像之前在本地删除它们(或将它们移动到另一个文件夹以便以后删除)
同一个脚本可以同时ZIP和ftp这组图像吗?
非常感谢任何帮助。
答案 0 :(得分:3)
这是一个可能对您有帮助的非现场答案:http://johnstanfield.com/?p=683
虽然该页面的作者确切地知道他想在他的电子邮件中使用多少附件,但似乎你没有,所以他的最后答案(做一堆uuencode
命令连接{{1}然后管道到&&
)可能不是最适合你的。但看看他的第二个答案:
mail
您可以使用uuencode file1 first_file >> uu.txt
uuencode file2 second_file >> uu.txt
cat uu.txt | mail -s "a bunch of files" me@mydomain.com
rm uu.txt
循环轻松替换前两行,并为for
中的每个文件创建uu.txt
:
/tmp/camera
至于拉链,这也很容易实现:
for file in `ls /tmp/camera`; do
uuencode $file dummyname >> attachments.txt
done
cat attachments.txt | mail -s "Motion Capture Images" me@mydomain.com
由于其交互性,FTP可能会有点困难。我没有多少经验,所以我只想指出你:http://kb.iu.edu/data/afqg.html