cron执行两次的原因
在unbuntu 24 上新建了一条 cron 任务
# 每日2,4,6点保存vivo收入数据到f_adsense_report_vivo表
22 2,4,6 * * * curl --connect-timeout 10 --max-time 10 "http://backstage.build6.com/vivo/saveRevenue.html"
结果发现测试环境在北京时间上午 10:22、12:22 和 14:22 执行了。经排查 cron 默认以UTC时间执行,需要转化北京时间,或者在命令前加 TZ=Asia/Shanghai,或者执行 crontab -e ,在命令最上面配置时区
root@boy-cole:/var/www/build6# timedatectl
Local time: Thu 2025-06-12 03:03:50 UTC
Universal time: Thu 2025-06-12 03:03:50 UTC
RTC time: Thu 2025-06-12 02:57:48
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
root@boy-cole:/var/www/build6# crontab -e
TZ=Asia/Shanghai
CRON_TZ=Asia/Shanghai
或者
# 每日2,4,6 执行
TZ=Asia/Shanghai 22 2,4,6 * * * curl --connect-timeout 10 --max-time 10 "http://192.168.1.251/vivo/saveRevenue.html"

浙公网安备 33010602011771号