首页/系统/Linux 运维命令速查//etc/crontab 系统级任务格式
定时任务与计划50 条

/etc/crontab 系统级任务格式

系统 crontab 多一个「用户」字段插在命令之前;权限 root:root 0644,保存即生效(守护每分钟重读),不需要重启服务。

Linux 运维命令速查系统更新于 2026-10-13

/etc/crontab

/etc/crontab 是系统级定时任务文件,格式与用户 crontab 只有一个关键差别:时间字段之后多一列「以哪个用户身份执行」,然后才是命令。它由 root 维护,权限通常为 0644、属主 root。系统预置的 cron.hourly 等目录就是通过它配合 run-parts 调度起来的,发行版会把这段默认内容写在这里。

基本信息

用途书写系统级定时任务,可指定执行身份
格式分 时 日 月 周 用户 命令(共七列,比用户 crontab 多一列用户)
相关位置/etc/crontab 与 /etc/cron.d/ 下文件使用同一格式
生效方式cron 会定期读取这些文件,通常保存即生效,无需重启服务

典型使用场景

  • 系统维护任务:以 root 身份执行日志轮转、缓存清理、证书检查
  • 以指定用户运行:需要以应用账号而非 root 执行的任务
  • 目录级调度:通过 run-parts 触发 cron.hourly 等目录里的脚本
  • 集中管理:把多台机器共用的任务模板放到统一位置维护
  • 审计留痕:把系统级任务与业务任务分开,职责清晰

文件内容示例

文件内容示例
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# 每小时的第 17 分钟以 root 运行 hourly 目录下的脚本
17 * * * * root cd / && run-parts --report /etc/cron.hourly
# 每天 06:25 运行每日任务(装了 anacron 时交给 anacron)
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
# 每天凌晨以应用账号执行清理
30 3 * * * appuser /opt/app/bin/cleanup.sh >> /var/log/app/cleanup.log 2>&1

修改流程

修改流程
sudo cp -a /etc/crontab /etc/crontab.bak-$(date +%F)   # 备份
sudo vim /etc/crontab                                  # 第 6 列写用户名
sudo diff -u /etc/crontab.bak-$(date +%F) /etc/crontab  # 核对改动
systemctl status crond --no-pager | head -n 5           # 看服务状态(Debian 系服务名为 cron)
ls -l /etc/crontab /etc/cron.d/

七列格式的含义

列含义取值示例
1分钟0-59、*/5 表示每 5 分钟
2小时0-23,支持区间与列表
3日1-31
4月1-12
5星期0-7,0 与 7 都表示周日
6执行身份root、appuser 等系统用户(用户 crontab 没有这一列)
7命令建议写绝对路径,并把输出重定向到日志
同一目录下的 /etc/cron.d/ 文件与 /etc/crontab 格式完全一致,都带用户列。按业务拆分文件放在 cron.d 下,比把大量任务都塞进 /etc/crontab 更好维护。
不要把系统级格式抄进用户 crontab:多出来的用户名字段会被当成命令的一部分,最终报「命令找不到」,而这个错误往往只在邮件或日志里才看得出来。

易错点

  • 用户 crontab 里粘贴七列格式:多出的用户列被当作命令名,任务永远执行失败
  • 改完不做 diff:发行版升级会更新文件顶部的变量行,覆盖式编辑容易把这些改动一起冲掉
  • 路径不写全:cron 的 PATH 比交互环境窄得多,命令写相对路径或依赖别名时会找不到
  • run-parts 对文件名有要求:带点号或以特殊字符结尾的脚本会被跳过,放在 cron.hourly 这类目录里的脚本命名要遵守规则,否则任务静默不执行

数据来源与参考

  • man 5 crontab(system crontab 差异)
  • Debian /etc/crontab 实例

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌