首先是重要的部分:
crontab -e
*/5 * * * * root etc/cron.d/check_davmail.sh && curl -sm 30 k.wdt.io/[email protected]/check_davmail?c=*/5_*_*_*_*
davmail_check.sh
#!/bin/bash
count=$(pgrep -f davmail.jar | wc -w)
if [ $count = 0 ]; then
echo "Starting Davmail: $(date)" >> /var/log/davmail.txt
/home/bhart/Downloads/davmail-linux-x86_64-4.8.0-2479/davmail.sh &
elif [ $count != 1 ]; then
echo "Restarted Davmail: $(date)" >> /var/log/davmail.txt
kill $(ps aux | grep 'davmail' | awk '{print $2}')
fi
/var/log/cron 文件:
Aug 29 15:55:01 Vostok CROND[27795]: (bhart) CMD (root etc/cron.d/check_davmail.sh && curl -sm 30 k.wdt.io/[email protected]/check_davmail?c=*/5_*_*_*_*)
如果我手动运行 davmail_check.sh 它将正确启动 davmail。 cron 作业出了什么问题?
答案1
您需要编辑
*/5 * * * * root etc/cron.d/check_davmail.sh && curl -sm 30 k.wdt.io/[email protected]/check_davmail?c=*/5_*_*_*_*
到
*/5 * * * * root /etc/cron.d/check_davmail.sh && curl -sm 30 'k.wdt.io/[email protected]/check_davmail?c=*/5_*_*_*_*'
您忘记了 a,/
并且您的 URL 需要用引号引起来。