Linux定时任务crontab通俗易懂简单扼要地解析
1、安装crontab
- 在配置好yum源的情况下,直接执行如下命令即可:
yum install crontab
2、查看当前环境上已经有的定时任务有哪些?
- 执行如下命令即可
crontab -l
如下,表示没有定时任务
(base) [root@redrose2100 ~]# crontab
^C(base) [root@redrose2100 ~]# crontab -l
no crontab for root
(base) [root@redrose2100 ~]#
3、crontab定时任务的命令格式分别是啥含义?
- 基础格式如下
* * * * * command
- 含义:
- 1)五个星号从左到右分表代表了:分钟(0-59)、小时(0-23)、天(1-31)、月(1-12)、星期(1-7)
- 2)* 号表示每个任意一个合法值
- 3)可以使用逗号隔开列举,如 1,2,3
- 4)可以使用-表示范围,如1-10
- 5)/ 表示间隔,比如第一位 */2 表示每两分钟
- 常见举例
* * * * * command 每一分钟执行一次command命令
10,20 * * * * command 每个小时的第10分钟和第20分钟执行command命令
10,20 6-10 * * * command 6点到10点的第10分钟和第20分钟执行command命令
10,20 6-10 */2 * * command 每隔两天 6点到10点的第10分钟和第20分钟执行command命令
10,20 6-10 * * 1,3,5 command 每周一、三、五的 6点到10点的第10分钟和第20分钟执行command命令
10,20 6-10 */2 6,8 * command 6月和8月每隔两天 6点到10点的第10分钟和第20分钟执行command命令
4、如何在linux中设置定时任务
- 1、执行 crontab -e 命令,然后输入i进入插入模式,然后将定时任务命令写入,如:
* * * * * ls /opt
然后按【Esc】键,在按输入:wq! 保存退出即可
5、如何查看设置的定时任务是否执行过?
执行如下命令即可:grep “定时任务中执行的command” /var/log/cron
如下表示已经执行了两次了
(base) [root@redrose2100 ~]# grep "ls /opt" /var/log/cron
Jan 26 22:40:01 redrose2100 CROND[89621]: (root) CMD (ls /opt)
Jan 26 22:41:01 redrose2100 CROND[90282]: (root) CMD (ls /opt)
(base) [root@redrose2100 ~]#
6、如何删除定时任务?
如果删除某一条定时任务,则可以按照步骤4的方式删除对应的一行定时任务即可,如果删除所有定时任务,则执行crontab -r即可
如下,执行删除所有定时任务之后,使用crontab -l已经显示为空了
(base) [root@redrose2100 ~]# crontab -r
(base) [root@redrose2100 ~]# crontab -l
no crontab for root
(base) [root@redrose2100 ~]#