• ubuntu下motion安装调试的补充


    昨天测试的时候发现发送邮件的脚本还是有问题,发送邮件不成功。问题在于在成功获取了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这个你建一个文件就可以了,实际上没什么内容,可以是任何文件名。现在你就可以成功发送移动监测视频到你的邮箱了。

  • 相关阅读:
    MySql基础教程(三)——查询训练
    MySql基础教程(二)
    MySql基础教程(一)
    解决Eclipse闪退问题的方法总结
    MySQL图形工具 MySQL GUI Tools的安装使用方法
    MySql5.6版修改用户登录密码
    Windows下MySQL解压版的配置
    js 数组容易弄混的那些方法
    如何使CSS--better(系列二)
    如何使CSS--better(系列一)
  • 原文地址:https://www.cnblogs.com/shulianghe/p/3724144.html
Copyright © 2020-2023  润新知