ubuntu下motion安装调试的补充

本文详细描述了一段用于发送邮件的脚本在处理文件路径时遇到的问题及解决方案。通过使用find命令,作者成功地定位并解决了文件路径不匹配导致的邮件发送失败问题。

昨天测试的时候发现发送邮件的脚本还是有问题,发送邮件不成功。问题在于在成功获取了TIME之后,使用$DIRC*$TIME.avi没有办法准确定位到文件,我本来发现文件命是01-time.avi,于是把发送的文件名改成了$DIRC"01-"$TIME.avi,能够成功发送,但是运行时间长的时候你就会发现他的序号不是只有01的,于是就开始想办法获取他的完整文件名,这样发送就不会有问题了。想到ubuntu下查找文件的命令find,根据这个修改了脚本,最终成功发送,脚本如下:

on_motion_end:

#!/bin/bash


echo "111111111111111on_motion_end1111111111111111"


DIRC="/root/motion/snapshots/"


VIDEOTIME="/root/tmp/videotime"


TIME=$(cat $VIDEOTIME)
echo $TIME
ALARM_EMAIL="/root/tmp/myalarm.txt"


 


echo "Subject: Motion detected - $TIME - $DIRC" > $ALARM_EMAIL


echo "">> $ALARM_EMAIL


echo "Motion detected - check 01-$TIME.avi">>$ALARM_EMAIL


MAILBODY=$(cat $ALARM_EMAIL)
echo $MAILBODY




#first trying of sending the avi video
echo $MAILBODY
FILE=$(find $DIRC -name *$TIME.avi*)
echo $FILE 
echo $DIRC*$TIME.avi*
#echo $MAILBODY | mutt -s $TIME -a $DIRC"01-"$TIME.avi xxx@gmail.com
echo $MAILBODY | mutt -s $TIME -a "$FILE" -- xxx@gmail.com< "/root/aaa.txt"




#second trying of sending the avi video


TIME=$(expr $TIME - 1)
echo $TIME
FILE=$(find $DIRC -name *$TIME.avi*)
echo $FILE 
#echo $MAILBODY | mutt -s $TIME -a $DIRC*$TIME.avi* xxx@gmail.com
echo $MAILBODY | mutt -s $TIME -a "$FILE" -- xxx@gmail.com< "/root/aaa.txt"


注意shell下面单引号‘  ’里面的变量是不被替换的,所以FILE=$(find $DIRC -name *$TIME.avi*)这里不要写成FILE=$(find $DIRC -name ’*$TIME.avi*‘),使用双引号是可以的。关于/root/aaa.txt这个你建一个文件就可以了,实际上没什么内容,可以是任何文件名。现在你就可以成功发送移动监测视频到你的邮箱了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值