Java充电社
专辑
博文
联系我
本人继续续收门徒,亲手指导
Linux专题第19篇:系统定时任务(crontab)
相关专辑:
Linux专题
<div style="display:none"></div> ## 19.1、需开启crond服务 Linux **crontab** 是用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 **crond** 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 若crond服务没有启动,则执行下面命令启动下。 ```shell [root@testx java]# systemctl restart crond ``` ## 19.2、crontab:定时任务设置 ### 1)基础语法 ```shell crontab [选项] ``` crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。 -u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 ### 2)选项说明 | 选项 | 功能 | | ---- | ----------------------------- | | -e | 编辑 crontab 定时任务 | | -l | 查询 crontab 定时任务 | | -r | 删除当前用户所有的crontab任务 | ### 3)添加任务 #### (1)编辑任务 > 执行`crontab -e`命令进入定时任务编辑界面,操作过程按照vim编辑文件的过程,每行为一个定时任务,保存之后,定时任务设置成功。 ```shell [root@testx java]# crontab -e * * * * * date >> /root/2.txt * * * * * date >> /root/4.txt ``` #### (2)任务格式 ```shell * * * * * 执行的任务 ``` | 项目 | 含义 | 范围 | | --------- | -------------------- | --------------------------------- | | 第一个“*” | 一小时当中的第几分钟 | 0-59 | | 第二个“*” | 一天当中的第几小时 | 0-23 | | 第三个“*” | 一个月当中的第几天 | 1-31 | | 第四个“*” | 一年当中的第几月 | 1-12 | | 第五个“*” | 一周当中的星期几 | 0-7 ( 0 和 7 都 代 表 星 期 日) | #### (3)特殊符号说明 | 特殊符号 | 含义 | | -------- | ------------------------------------------------------------ | | * | 代表任何时间。 比如第一个“ *” 就代表一小时中每分钟 都执行一次的意思。 | | , | 代表不连续的时间。 比如“ 0 8,12,16 * * * 命令”, 就代表 在每天的 8 点 0 分, 12 点 0 分, 16 点 0 分都执行一次命令 | | - | 代表连续的时间范围。 比如“0 5 * * 1-6 命令”, 代表在 周一到周六的凌晨 5 点 0 分执行命令 | | */n | 代表每隔多久执行一次。 比如“*/10 * * * * 命令”, 代 表每隔 10 分钟就执行一遍命令 | #### (4) 特定时间执行命令 | 时间 | 含义 | | ----------------- | ------------------------------------------------------------ | | 45 22 * * * 命令 | 每天 22 点 45 分执行命令 | | 0 17 * * 1 命令 | 每周 1 的 17 点 0 分执行命令 | | 0 5 1,15 * * 命令 | 每月 1 号和 15 号的凌晨 5 点 0 分执行命令 | | 40 4 * * 1-5 命令 | 每周一到周五的凌晨 4 点 40 分执行命令 | | */10 4 * * * 命令 | 每天的凌晨 4 点, 每隔 10 分钟执行一次命令 | | 0 0 1,15 * 1 命令 | 每月 1 号和 15 号, 每周 1 的 0 点 0 分都会执行命令。 注 意: 星期几和几号最好不要同时出现, 因为他们定义的都 是天。 非常容易让管理员混乱。 | ## 19.3、案例 ### (1)当前用户添加一个任务 > 每隔一分钟将当前时间输出到/root/date.txt文件中 ```shell * * * * * date >> /root/date.txt ``` ### (2)参看当前用户任务列表 ```shell [root@testx java]# crontab -l * * * * * date >> /root/2.txt * * * * * date >> /root/4.txt ``` ### (3)删除当前用户所有任务 ```shell [root@testx ~]# crontab -l * * * * * date >> /root/2.txt * * * * * date >> /root/4.txt [root@testx ~]# crontab -r [root@testx ~]# crontab -l no crontab for root ``` ### (4)如果想删除某个任务怎么办呢? 可以通过`crontab -e`编辑定时任务列表实现增删改。 <a style="display:none" target="_blank" href="https://mp.weixin.qq.com/s/_S1DD2JADnXvpexxaBwLLg" style="color:red; font-size:20px; font-weight:bold">继续收门徒,亲手带,月薪 4W 以下的可以来找我</a> ## 最新资料 1. <a href="https://mp.weixin.qq.com/s?__biz=MzkzOTI3Nzc0Mg==&mid=2247484964&idx=2&sn=c81bce2f26015ee0f9632ddc6c67df03&scene=21#wechat_redirect" target="_blank">尚硅谷 Java 学科全套教程(总 207.77GB)</a> 2. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484192&idx=1&sn=505f2faaa4cc911f553850667749bcbb&scene=21#wechat_redirect" target="_blank">2021 最新版 Java 微服务学习线路图 + 视频</a> 3. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484573&idx=1&sn=7f3d83892186c16c57bc0b99f03f1ffd&scene=21#wechat_redirect" target="_blank">阿里技术大佬整理的《Spring 学习笔记.pdf》</a> 4. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484544&idx=2&sn=c1dfe907cfaa5b9ae8e66fc247ccbe84&scene=21#wechat_redirect" target="_blank">阿里大佬的《MySQL 学习笔记高清.pdf》</a> 5. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247485167&idx=1&sn=48d75c8e93e748235a3547f34921dfb7&scene=21#wechat_redirect" target="_blank">2021 版 java 高并发常见面试题汇总.pdf</a> 6. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247485664&idx=1&sn=435f9f515a8f881642820d7790ad20ce&scene=21#wechat_redirect" target="_blank">Idea 快捷键大全.pdf</a> ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/1/2883e86e-3eff-404a-8943-0066e5e2b454.png)
相关专辑:
Linux专题