温馨提示×

ubuntu定时器怎么用cron

小樊
33
2026-10-06 23:59:54
栏目: 智能运维

在 Ubuntu 里,cron 是用来设置定时任务的工具。下面从「基本用法 → 常见示例 → 管理命令」给你讲清楚。


一、cron 基本结构

cron 的任务写在 crontab 里,格式如下:

* * * * * 命令
│ │ │ │ │
│ │ │ │ └─ 星期 (0-7,0和7都代表周日)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日期 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)

二、常用操作命令

1️⃣ 编辑当前用户的定时任务

crontab -e

第一次用会让你选编辑器(推荐 nano 或 vim)

2️⃣ 查看当前用户的定时任务

crontab -l

3️⃣ 删除当前用户的所有定时任务

crontab -r

4️⃣ 系统级 cron(不常用)

sudo nano /etc/crontab

三、常见示例

✅ 每分钟执行一次

* * * * * /home/user/test.sh

✅ 每天凌晨 2 点执行

0 2 * * * /home/user/backup.sh

✅ 每小时的第 30 分钟

30 * * * * /home/user/run.sh

✅ 每周一 9:00

0 9 * * 1 /home/user/weekly.sh

✅ 每 5 分钟

*/5 * * * * /home/user/check.sh

四、输出和日志

默认 cron 不会显示输出,建议:

* * * * * /home/user/test.sh >> /home/user/cron.log 2>&1
  • >>:追加日志
  • 2>&1:错误也写进去

五、注意事项(很重要)

✅ 1. 使用绝对路径

cron 环境很干净,不要用相对路径

❌ 错误:

python test.py

✅ 正确:

/usr/bin/python3 /home/user/test.py

查路径:

which python3

✅ 2. 脚本要有执行权限

chmod +x /home/user/test.sh

✅ 3. cron 服务要运行

sudo systemctl status cron

启动:

sudo systemctl start cron

开机自启:

sudo systemctl enable cron

六、用 systemd timer(进阶)

如果你不想用 cron,也可以用 systemd timer(更现代),需要的话我可以单独讲。


如果你有具体需求(比如“每天备份 MySQL”“每 10 秒执行一次”),直接告诉我,我帮你写完整 crontab。

0 踩