python - python 脚本的 Cron 作业比预定时间晚一小时运行
问题描述
我有一个 python 脚本,它获取某个时区的当前时间(这里:欧洲/柏林;CET),我想安排脚本在使用 crontab 的虚拟机上运行。脚本如下所示:
from datetime import datetime
import pytz
tz = pytz.timezone("Europe/Berlin")
datetime_now = datetime.now(tz)
print(datetime_now)
date_of_today = datetime_now.strftime("%d-%m-%Y_%H-%M-%S")
print(date_of_today)
我已将机器的系统时间设置为同一时区。当我通过控制台运行文件时,python script.py
它会打印正确的时间:
2021-03-24 14:48:14.746922+01:00
24-03-2021_14-48-14
当我想像这样在 cron 中安排作业时
50 14 * * * . ~/venv/bin/activate; PATH=$PATH:/usr/local/bin; python ~/folder/subfolder/script.py >> ~/folder/subfolder/cronlog.log 2>&1
作业未运行。似乎 cron 不使用系统时间(CET)而是UTC。它在一小时后运行作业。我已经检查了以下内容:
cat /etc/timezone
date
sudo hwclock --show
timedatectl
,输出:
Europe/Berlin
Wed Mar 24 14:48:24 CET 2021
2021-03-24 14:48:31.257344+01:00
Local time: Wed 2021-03-24 14:48:35 CET
Universal time: Wed 2021-03-24 13:48:35 UTC
RTC time: Wed 2021-03-24 13:48:36
Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
我如何告诉 cron 使用预期的时间?
解决方案
推荐阅读
- c# - 如何在 .net 中更改 Application.exe.config 文件的位置
- javascript - EJS - 在样式标签属性中写入 js 变量
- flutter - Flutter 日历取消操作
- ms-word - 是否可以在 Word 365 中编辑后台?
- wordpress - Wordpress - 自定义模板分页未显示(Lollum 框架 - 莲花主题)
- automation - 如何将文件从我的 Android 设备拉到我 PC 上的本地文件夹
- django - Django迁移无法将用户实例分配给用户字段
- r - read_html(url) 和 read_html(content(GET(url), "text")) 之间的区别
- javascript - EventListener 不会在函数调用时被删除
- mysql - 通过在特定表上添加 JOIN 非常慢的 SQL 查询