Crontab定时任务使用详解与技巧
时间:2026-01-19 21:30:51 175浏览 收藏
一分耕耘,一分收获!既然都打开这篇《Crontab定时任务使用全攻略》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新文章相关的内容,希望对大家都有所帮助!
本文分享实用技术经验,适用于Linux系统管理员及数据中心运维工程师学习与参考。
1、 cron 是 Linux 系统中用于周期性执行任务的核心服务,支持无人干预的自动化作业调度。作为内建守护进程,cron 默认处于未启用状态,需通过专用命令手动启动或停止,以保障其稳定运行。
2、 启动定时任务服务,请执行:/sbin/service crond start
3、 停止计划任务服务,请运行:/sbin/service crond stop
4、 重启计划任务服务,请使用:/sbin/service crond restart
5、 重载配置而不中断服务,请执行:/sbin/service crond reload
6、 可配置该服务随操作系统启动自动激活。
7、 在 /etc/rc.d/rc.local 文件末尾追加对应启动语句即可实现开机自启。

8、 使用 crontab 命令直接管理用户的定时任务列表。
9、 cron 的配置主要依赖 crontab 工具完成,该命令提供多个选项参数,用于增删查改各类定时任务及相关维护操作。
10、 使用 crontab -u 可为指定用户设定专属任务,普通用户默认操作自身任务;root 用户若需管理其他账户的任务,则必须显式指定 -u 参数。
11、 查看某用户当前所有定时任务,可运行:crontab -l(配合 -u username 指定目标用户)。
12、 清空全部用户的定时任务配置(谨慎操作)。
13、 编辑特定用户的定时任务,应使用:crontab -e 进入编辑模式进行修改。
14、 例如,root 用户可通过 crontab -u root -l 查阅自身的定时任务内容。
15、 例如,root 用户执行 crontab -u fred -r 即可彻底删除用户 fred 的全部定时任务。

16、 编写 cron 任务时须严格遵守语法规范,推荐使用命令 crontab -u root -e 进行安全编辑。
17、 进入 vi 编辑器后,新增行需符合标准格式,如:*/1 * * * * ls >> /tmp/ls.txt。其中前五段为时间字段,第六段起为待执行命令。若需执行多条指令,建议将其封装为 Shell 脚本,并在此处调用脚本的绝对路径。时间字段依次代表:分钟(0–59)、小时(0–23)、日期(1–31)、月份(1–12)、星期(0–6 或 7,0 和 7 均表示周日)。星号(*)表示任意有效值,可通过组合数字与符号精确控制触发频率。
18、 分钟取值范围:0 到 59
19、 小时取值范围:0 到 23
20、 日期取值范围:1 到 31
21、 月份取值范围:1 到 12
22、 星期取值范围:0 到 6(0 表示星期日)
23、 除数值外,还支持若干特殊字符:*(匹配所有可能值)、/(表示“每隔”,如 */5 即每 5 分钟一次)、-(定义连续区间,如 1-5)、,(列举离散值,如 1,3,5)。以下将结合实例详解各符号的实际应用方式。
24、 每天早上六点整执行任务
25、 每日清晨六点,系统将自动向 /tmp/test.txt 写入字符串 "Good morning."。由于 cron 在后台静默运行,终端不会显示任何输出,所有标准输出与错误信息默认发送至该任务所属用户的邮箱(通常是 root),因此需检查邮件确认是否成功执行。
26、 每隔两小时运行一次
27、 每晚 23:00 至次日 08:00 区间内,每两小时执行一次,最后一次在 08:00 完成。
28、 每月 4 日且每周一至周三上午 11 点准时触发
29、 每年元旦凌晨四点执行指定操作
30、 当使用 crontab -e 修改某用户任务后,系统会自动在 /var/spool/cron/ 目录下生成或更新一个与用户名同名的文件,保存其最新配置。该文件由 cron 自动维护,禁止手工编辑。任何修改都必须通过 crontab -e 完成,确保语法合规并被正确加载。cron 守护进程每分钟扫描一次 /var/spool/cron/ 下的所有用户文件以及 /etc/crontab,一旦发现新配置即刻生效,无需重启服务,新任务将在下一个扫描周期被识别并按计划执行。


31、 也可直接编辑 /etc/crontab 文件来添加全局定时任务。
32、 cron 服务在运行过程中,每分钟都会读取 /var/spool/cron/ 中所有用户的 crontab 文件,同时也会解析 /etc/crontab。因此,修改该系统级配置文件同样能实现定时调度功能。区别在于:crontab 命令仅影响单个用户;而 /etc/crontab 支持定义执行用户身份,适合部署跨用户或系统级任务,其格式包含时间字段、执行用户、具体命令三部分。
33、 若任务执行出错或产生输出内容,系统将自动将相关信息以邮件形式发送至 root 用户邮箱,便于及时排查问题。
34、 HOME=/ 表示该任务执行时的工作目录为根目录(/)。
35、 每小时第 0 分钟自动运行 /etc/cron.hourly/ 目录下的所有可执行脚本,此任务由 root 用户通过 cron 配置实现。
36、 每日凌晨两点零四分,系统自动执行 /etc/cron.daily/ 目录中的全部脚本,该行为由 root 权限下的 cron 任务触发。
37、 每周日凌晨 00:22:04,系统将统一调用 /etc/cron.weekly/ 目录下的所有脚本,任务以 root 身份运行。
38、 每月 4 日凌晨 4 点整,cron 会自动运行 /etc/cron.monthly/ 目录内的全部脚本,同样由 root 用户权限执行。
39、 注意:run-parts 是一个系统工具,用于批量执行指定目录下所有符合条件的脚本。若省略该命令,则需明确写出完整脚本路径,不可仅填写目录名。


文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Crontab定时任务使用详解与技巧》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
201 收藏
-
156 收藏
-
469 收藏
-
296 收藏
-
475 收藏
-
105 收藏
-
226 收藏
-
349 收藏
-
239 收藏
-
495 收藏
-
329 收藏
-
276 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习