2

我正在使用MotionRaspberry Pi (Ubuntu) 上的软件连接到我的网络安全摄像头。当这个摄像头检测到移动时,它会每秒将 JPG 转储到这台 Ubuntu 机器上的 /tmp/camera 文件夹中。

Motion 允许您在保存每张图片后(每秒)或停止移动后(在所有图片结束时)运行自定义 Bash 脚本。

我想要的是将这些图像发送到我的手机(并最终将它们发送到 FTP)。目前,我正在使用选项在每张图片保存上运行脚本,在 Ubuntu 上使用“邮件”来附加最近保存的文件。这不是很好,因为一个“动作”可能有 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 或邮件在本地删除它们之前实际正确发送了图像(或将它们移动到另一个文件夹以便稍后删除)

这个相同的脚本可以同时 ZIP 和 ftp 图像集吗?

任何帮助将不胜感激。

4

1 回答 1

3

这是一个可能对您有所帮助的异地答案:http: //johnstanfield.com/ ?p=683

虽然该页面的作者确切地知道他想在他的电子邮件中使用多少附件,但您似乎不知道,因此他的最终答案(执行一系列uuencode命令&&,然后通过管道连接到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

至于拉链,这也很容易实现:

cd /tmp/camera
tar czvf MotionCapture.tar.gz *.jpg #or replace jpg with your images' file extension

由于它的交互性,FTP 可能会更困难一些。我对此没有太多经验,所以我只会在这里指点您:http: //kb.iu.edu/data/afqg.html

于 2013-08-13T12:48:33.493 回答