发布于2026-06-30 阅读(0)
扫一扫,手机访问
在 Unix 和类 Unix 系统(比如 Linux)上,想要让某个脚本或命令在特定时间自动跑起来,最经典的方法就是 crontab。别被它的名字吓到,其实套路很固定,理解清楚格式和流程,几分钟就能上手。

先别急着写任务,看看系统里目前有没有已经配好的定时任务。运行下面这个命令就能直接看到当前用户的所有 crontab 条目:
crontab -l
如果什么也没输出,说明当前用户还没有任何定时任务,正好从头开始。
添加或修改任务,就用 crontab -e 命令。系统会打开一个文本编辑器(多数情况下是 vi 或 nano),你可以在里面逐行写入任务规则:
crontab -e
新手如果对 vi 不熟,可以先设置环境变量 EDITOR=nano,用起来会更友好。
这是整个 crontab 的核心——每一行任务的格式都遵循一个固定模板:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (0和7都是星期天)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)
简单说就是“分 时 日 月 周”五个字段,后面跟着要执行的命令。如果某个字段用 * 表示“任意值”。
举个例子:你想每天早上6点整执行 /home/user/backup.sh 这个脚本。那么在 crontab 文件中加上这一行:
0 6 * * * /home/user/backup.sh
这里的 0 代表分钟(6点整),6 代表小时。后面三个 * 分别表示“每月任意天”、“任意月份”、“任意星期几”——也就是每天执行。
编辑完保存退出就可以了。在 vi 里先按 Esc,然后输入 :wq 回车;在 nano 里按 Ctrl+X,确认修改,按 Y,再回车。
除了每个用户自己的 crontab,系统中还有一个全局的配置文件 /etc/crontab。只有 root 用户才能修改它,里面可以定义需要指定运行用户的任务。查看它的内容:
sudo cat /etc/crontab
这个文件的格式比用户级的多了个“执行用户”字段,其他都一样。
更规范的玩法是把定时任务单独写成文件,放到 /etc/cron.d/ 目录下。这些文件的格式和 /etc/crontab 类似,但每行必须包含用户名。
例如,创建一个名为 backup 的文件:
sudo nano /etc/cron.d/backup
然后在里面写入:
0 6 * * * user /home/user/backup.sh
这里的 user 就是指以哪个系统用户的身份运行该任务。保存退出即可。
绝大多数情况下,编辑完 crontab 文件或添加了 /etc/cron.d/ 里的文件后,cron 守护进程会自动检测并加载变化,不需要额外操作。但如果系统没有自动生效,可以手动重启一下:
sudo systemctl restart cron
或者老的 SysV 风格:
sudo service cron restart
至此,定时任务就顺利部署上了。后续如果要查看任务是否按时执行,可以看看系统日志(/var/log/syslog 或 journalctl -u cron)。这整套流程熟悉后,以后安排任何周期性操作都会变得非常顺手。
上一篇:GCC如何进行预处理和后处理
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8