crontab使用说明【一文搞懂Linux定时任务Crontab】
1、简介
cron是一个在后台运行调度的守护进程,而crontab是一个设置cron的工具。cron调度的是/etc/crontab文件。
2、centos安装crontab
1 | yum install crontabs |
3、crontab的配置文件
Linux下的任务调度分为两类:系统任务调度和用户任务调度。Linux系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用crontab 命令。在CentOS系统中,
1 | cat /etc/crontab |
配置文件可以看到如下解释:
前三行:用来配置crond任务运行的环境变量。
第一行:SHELL变量指定了系统要使用哪个shell,这里是bash;
第二行:PATH变量指定了系统执行命令的路径;
第三行:MAILTO变量指定了crond的任务执行信息发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户;
用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致:
4、crontab命令详解
格式:
crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } |
说明:
1 2 3 4 5 6 7 8 9 10 11 | crontab –e // 修改 crontab 文件,如果文件不存在会自动创建。 crontab –l // 显示 crontab 文件。 crontab -r // 删除 crontab 文件。 crontab -ir // 删除 crontab 文件前提醒用户。 service crond status // 查看 crontab 服务状态 service crond start // 启动服务 service crond stop // 关闭服务 service crond restart // 重启服务 service crond reload // 重新载入配置 |
取消某个定时任务:
删除在配置文件中的对应命令,即 crontab -e 打开文件,然后删除对应哪行的命令即可
5、定时任务的基本格式(即crontab -e使用说明)
1 2 | * * * * * command 分 时 日 月 周 命令 |
第1列表示分钟 00~59 每分钟用*或者 */1表示
第2列表示小时 00~23(0表示0点)
第3列表示日期 01~31
第4列表示月份 01~12
第5列标识号星期 0~6(0表示星期天)
第6列要运行的命令
此外每一列除了数字,还可以有这些符号,其含义如下所示:
1 2 3 4 | * 代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行 , 代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行 - 代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行 * /n 代表每个多久执行一次,比如* /10 * * * *代表每隔10分钟执行一次 |
示例:
(1)在 凌晨00:10运行
1 | 10 0 * * * sh test .sh |
(2)每个工作日23:59都进行备份作业
1 2 3 | 59 23 * * 1,2,3,4,5 sh test .sh 或者 59 23 * * 1-5 sh test .sh |
(3)每分钟运行一次命令
1 | * /1 * * * * sh test .sh |
(4)每个月的1号 14:10 运行
1 | 10 14 1 * * sh test .sh |
(5)每10分钟定时请求一个地址
1 | 0 * /10 * * * /usr/bin/curl http: //www .aaa.com /index .php |
6、 crontab 日志
1 | tail -f /var/log/cron |
7、Q&A--crontab定时任务脚本不执行?
(1)全路径。crontab定时任务(crontab -e编辑中涉及的路径)要写全路径,全路径!
(2)执行权限。看日志,cat /var/log/cron。如果日志中有执行记录可能是脚本没有执行权限。
8、应用
实现每分钟向文件写入一条数据的效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!