速查表 · Cron 速查表 · Cron 每天午夜执行 — Crontab 示例

Cron 每天午夜执行 — Crontab 示例

0 0 * * *

每天 00:00(午夜)执行一次。

逐字段解释

字段值含义
分钟0第 0 分
小时0第 0 小时(午夜)
每月几号*每一天
月份*每个月
星期几*每周的每一天

每天午夜是备份、日志轮转和报表生成的传统存放点。@daily 简写和这条表达式完全等价。

两个实际提醒:第一,午夜是服务器时区的午夜 — UTC 服务器上的 00:00 对欧洲大部分地区是清晨,对美洲是傍晚。第二,午夜也是别人的重活挤在一起的时候;把你的任务挪到 0 3 * * *,同样的活儿往往完成得更快。

0 0 * * * /usr/local/bin/backup.sh

相关调度

常见问题

是哪个时区的午夜?
宿主机认为是本地的哪个就是哪个 — 云服务器通常是 UTC。在这台机器上用 date 确认,并优先用 UTC 排程换取确定性。

@daily 完全一样吗?
一样:@daily 展开就是 0 0 * * *。哪种在你的 crontab 里更好读就用哪种。

午夜时服务器是关着的呢?
这一次会被跳过 — cron 不补跑。对必须每天发生的任务(计费、数据保留),让任务自己检查上次运行时间戳,或改用 anacron / 带补偿语义的调度器。

别死记语法 — 用可视化生成器

在 Cron 编辑器里试用这条排程

完整速查表:Cron 速查表