本地主机 cron 问题,日志显示 cmd 已运行,但脚本实际上没有启动..我做错了什么?

本地主机 cron 问题,日志显示 cmd 已运行,但脚本实际上没有启动..我做错了什么?

首先是重要的部分:

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 需要用引号引起来。

相关内容