Lazy loaded image
⏰Linux定时任务:cron使用详解
字数 968阅读时长≈ 3 分钟
2026-10-17
2026-10-17

Linux定时任务:cron使用详解(我用了10年的经验)

我用 cron 跑了 10 年定时任务,从备份到监控,从清理到同步。这篇是我整理的最全的 cron 使用指南,新手也能学会。

一、cron 是什么?

cron 是 Linux 的定时任务服务,能让你在指定的时间自动执行脚本。
比如:
  • 每天凌晨 2 点自动备份网站
  • 每 10 分钟自动检查网站能不能访问
  • 每周一早上 8 点自动发周报

二、怎么用 cron?

1. 查看当前定时任务
2. 编辑定时任务
第一次用会让你选编辑器,选 vim 就行。

三、cron 语法格式

记忆口诀:分 时 日 月 周

四、常用示例(直接套用)

1. 每分钟执行一次
2. 每 10 分钟执行一次
3. 每天凌晨 2 点执行
4. 每天早上 8 点 30 分执行
5. 每周一早上 8 点执行
6. 每月 1 号凌晨 3 点执行
7. 每年 1 月 1 号早上 9 点执行

五、实战:我常用的定时任务

这是我服务器上的 cron 任务:

六、进阶技巧

1. 输出重定向
cron 默认会把输出发到邮件,如果你不需要,可以重定向到 /dev/null:
2. 指定 SHELL
默认用 /bin/sh,如果你想用 bash,可以指定:
3. 指定 PATH
cron 的 PATH 很简单,很多命令找不到,最好指定:

七、踩坑提醒

  1. 用绝对路径:cron 的环境变量很简单,脚本里一定要用绝对路径,不然找不到命令
  1. 先手动跑一遍:脚本先手动跑一遍,没问题了再放到 cron 里
  1. 加日志:重要的脚本,加日志,出问题了能查
  1. 注意时区:cron 用的是服务器的时区,注意是不是对的
  1. 不要同时跑很多:不要把所有任务都设成同一个时间,错开一点

八、怎么调试 cron?

如果 cron 没跑,怎么调试?
  1. 先手动跑一遍脚本:看看脚本有没有错
  1. 看 cron 日志:
    1. 看脚本的输出:把输出重定向到文件,看看有没有报错

    九、其他定时任务工具

    除了 cron,还有:
    • at:一次性定时任务,比如 1 小时后执行
    • systemd timer:systemd 的定时任务,比 cron 更强大
    • GitHub Actions:如果你只是想定时跑个脚本,用 GitHub Actions 也行,不用在自己服务器上跑

    你有没有在用 cron?有没有什么常用的定时任务?欢迎在评论区分享~
    上一篇
    VPS安全加固:这15件事一定要做
    下一篇
    iStoreOS软路由系统深度体验