我运行crontab脚本来检查ffmpeg是否正在运行。 如果ffmpeg没有运行,我希望脚本通知我。 当我在命令行上以root身份运行脚本时,一切正常 但是当它们从crontab调用时,它们从不显示错误。 他们总是表明ffmpeg正在运行,尽管有时ffmpeg已经崩溃。
我已经提供了我的crontab文件和下面的脚本。
SHELL=/bin/sh
57 4 * * * pkill -f /usr/bin/python2.7
57 4 * * * pkill -f /bin/ffmpeg
2 5 * * * /opt/dls/cron.sh (restarting the process above.)
*/5 * * * * /root/test-ffmpeg.sh testing if ffmpeg is running
*/5 * * * * /root/test.sh testing if ffmpeg is running
*/5 * * * * /root/test2.sh testing if ffmpeg is running
脚本:test.sh
#!/bin/bash
#check if ffmpeg is running
if pgrep ffmpeg >/dev/null 2>&1
if ps cax | rev | cut -f1 -d' ' | rev |grep ffmpeg >/dev/null 2>&1
then
echo "My Process is running."
else
echo "Hello" | mutt -s "fffmpeg is not working" abc@gmail.com
fi
脚本test-ffmpeg.sh
#!/bin/bash
#check if ffmpeg is running
if pgrep ffmpeg >/dev/null 2>&1
then
echo "Process is running."
else
echo "Hello" | mutt -s "ffmpeg is not working" abc@gmail.com
fi
script:test2.sh
line=$(ps aux | grep ffmpeg)
if [ -z "$line" ]
then
echo "Hello" | mutt -s "fffmpeg is not working" abc@gmail.com
else
echo $line > /dev/null
echo "Running"
fi