bach脚本由crontab以root身份运行

时间:2017-05-04 16:23:37

标签: bash ffmpeg crontab centos7

我运行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

0 个答案:

没有答案