指定时间后 cronjob 没有运行?

指定时间后 cronjob 没有运行?

我正在为我的一个项目测试 cronjobs。为此,我制作了一个简单的电报机器人,每分钟给我发送一条消息。

代码如下:

import requests
from datetime import datetime
Token = "Token here"
OWNER_ID = Id here


def send():

    send_text="Message sent at : "+str(datetime.now())
    telegram_send = f"https://api.telegram.org/bot{Token}/sendmessage?chat_id={OWNER_ID}&text={send_text}"
    requests.get(telegram_send)
    print("sent at : " , datetime.now())


send()

我的 cronjob 命令是:

* * * * * /usr/bin/python3 /home/anish/cowin/tester.py >> ~/cron.log 2>&1

该机器人每分钟向我发送一条消息,日志文件也记录了这一点:

sent at :  2021-05-26 14:37:02.681277
sent at :  2021-05-26 14:38:02.444642
sent at :  2021-05-26 14:39:02.189234
sent at :  2021-05-26 14:40:01.932228
sent at :  2021-05-26 14:41:02.695751

正如预期的那样,这是我在机器人中收到的内容:

机器人消息

但是当我将cronjob命令改为在下午2点到下午6点之间执行该命令时,程序执行就停止了。

我输入的新命令是:

* 14-18 * * *  /usr/bin/python3 /home/anish/cowin/tester.py >> ~/cron.log 2>&1

有人能帮我解决这个问题或者指出我的代码中的任何错误吗?

答案1

我发现 cron 服务没有检测到我的系统时区的变化。

我通过简单地重新启动 cron 服务解决了这个问题 sudo /etc/init.d/cron restart

相关内容