我有一个名为“record.sh”的脚本,它看起来像:
#!/bin/bash
/usr/bin/vlc -vvv rtsp://admin:[email protected]:554/ch0_0.h264 --sout=file/ts:Videos/VideoCaptures/recording-$(date +"%Y-%m-%d_%H-%M-%S").mp4 -I dummy --stop-time=3600 vlc://quit
exit
还可以使用以下命令使其可执行:chmod +x record.sh
现在真正的问题是。当我双击脚本时,它执行得很好!但是当我创建一个 cronjob(crontab -e)时
*/60 * * * * /home/pi/record.sh
它根本就不会运行。
甚至以下 cronjob 也不起作用;
*/60 * * * * /usr/bin/vlc -vvv rtsp://admin:[email protected]:554/ch0_0.h264 --sout=file/ts:Videos/VideoCaptures/recording-$(date +"%Y-%m-%d_%H-%M-%S").mp4 -I dummy --stop-time=3600 vlc://quit
我究竟做错了什么?
答案1
--sout=file/ts:Videos/...
-- 假设 Videos 目录位于您的主目录中。cron 的当前目录是/
。您需要
--sout=file/ts:$HOME/Videos/...
此外,百分号在 crontab 中很特殊,需要进行转义:
recording-$(date +"\%Y-\%m-\%d_\%H-\%M-\%S").mp4
检查你的crontab(5)
手册页。