从运动运行python脚本的问题

Dan*_*rum 7 scripting python motion raspberry-pi

我正在尝试使用我的网络摄像头设置树莓派作为运动检测闭路电视,使用Jeremy Blythe 的脚本将视频上传到谷歌驱动器

我的动作正常工作,当我从终端测试它时,python 脚本运行。

但是,当我将它添加到motion.conf 中的on_movie_end 选项时,脚本不会运行。

我在文件中使用的脚本是

On_Movie_End /etc/motion/uploader.py /etc/motion/uploader.cfg %f
Run Code Online (Sandbox Code Playgroud)

我还尝试让 on_movie_end 运行一个运行 python 脚本的 bash 脚本,但这也不起作用。我是 linux 新手,所以不完全确定我是否正确。

脚本是:

#!/bin/bash
VIDEO=$1 
/etc/motion/uploader.py /etc/motion/uploader.cfg VIDEO
Run Code Online (Sandbox Code Playgroud)

在motion.conf /etc/motion/uploaderscript.sh %f

小智 1

检查以下几点:

  1. 我看到的所有示例都使用on_movie_end而不是On_Movie_End. 所以先尝试使用小写版本。

  2. 检查两个脚本是否有执行权限。如果没有添加:

    sudo chmod +x /etc/motion/uploader.py
    sudo chmod +x /etc/motion/uploaderscript.sh
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将 python 脚本的 stderr 重定向到文件。这可以帮助捕获错误。编辑 .sh 文件以匹配此内容(注意$VIDEO:这是在 bash 中引用变量的正确方法):

    #!/bin/bash
    VIDEO=$1 
    /etc/motion/uploader.py /etc/motion/uploader.cfg $VIDEO &> /tmp/on_movie_end.log
    
    Run Code Online (Sandbox Code Playgroud)