linux定时任务(crontab)

Posted 格格巫 MMQ!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux定时任务(crontab)相关的知识,希望对你有一定的参考价值。

定时任务:
1、什么是定时任务
2、定时任务的软件的种类
3、定时任务
4、用户定时任务
5、crontab -e 可能会出现的提示
6、定时任务的日志:/var/log/cron 、/var/log/message
7 、定时任务的各种格式:* - ,*/n
8 、案例
9 ,while使用
1、什么是定时任务
类似日常生活之中的闹钟;主要用于定时执行某些命令,达到定时处理数据的作用。

2、定时任务的软件的种类
1、linux操作系统自带的软件:crontab
2、第三方的定时任务软件:atd、anacron
3、WEB定时软件:PPGo_Job
4、基于etcd的定时任务系统

3、定时任务

3.1、定时目录

/etc/cron.hourly : 每小时执行一次
/etc/cron.daily : 每天执行一次
/etc/cron.weekly : 每周执行一次
/etc/cron.monthly : 每月执行一次
3.2、定时任务的配置文件

/etc/crontab

3.3、定时任务编写文件

crontab -e : 编辑定时任务(用户可以省略,默认是当前用户)
crontab -l : 查看定时任务(只查看当前用户的定时任务)

4、用户定时任务

4.1、定时任务的格式

分钟 小时 日期 月份 星期 (crontab表达式)
user-name 指的是执行这个定时任务的用户
command to be executed : 运行的命令
案例1:要求在每天凌晨3点45分执行一次

45 3 * * *
案例2:要求在每天凌晨3点45分以root用户执行/root/1.sh一次

45 3 * * * root /root/1.sh
4.2、定时任务保存的地方

/var/spool/cron
所有的用户定时任务都保存在 /var/spool/cron 目录中,当用户增加定时任务时,会在该目录中添加以自己名称命名的文件,并将定时任务保存在其中。

5、crontab -e 可能会出现的错误或提示
no crontab for oldboy02 :没有任何定时任务
crontab: installing new crontab : 新增了一个定时任务
Do you want to retry the same edit? : 编辑的定时任务可能会出现错误
6、定时任务的日志
当定时任务出现错误的时候,需要排查错误,就需要到定时任务日志文件中去查询错误的原因

/var/log/cron : 可以查看到执行那些定时任务
/var/log/messages: 记录系统操作的日志,(例如:用户登录)

7 定时任务的各种格式


  • */n 每隔n
    , 分割
  • 从什么到什么

8 案例
案例1:要求每分钟执行一次


案例2:要求每天的凌晨3点执行一次

0 3 * * *
案例3:要求每天上午7,9,12点各执行一次

0 7,9,12 * * *
案例4:要求每个季度执行一次

0 3 1 1,4,7,10 *
案例5:要求在每天上午的7点每隔2分钟执行一次(0分钟的时候执行)

*/7 7 * * *

案例6:要求每个月的1号的星期一执行一次

0 0 1 * 1
案例7:要求每天的8 - 11点每隔5分钟执行一次

*/5 8,9,10,11 * * *
或者

*/5 8-11 * * *
案例8:要求每天的21点到凌晨3点,每个5分钟执行一次

*/5 21-3 * * *
或者

*/5 21-23,0-3 * * *
案例9:要求每天上7点开始,每隔两分钟执行一次

*/2 7-23 * * *
案例10:要求每天上7点开始,每隔两小时的两分钟执行一次

*/2 7-23/2 * * *
案例11:要求工作日(1-5)的7点和下午两点执行一次

0 7,14 * * 1,2,3,4,5
9 while使用
死循环:执行ll,date,睡一秒,清空

while true;do ll;date;sleep 1;clear;done


以上是关于linux定时任务(crontab)的主要内容,如果未能解决你的问题,请参考以下文章

Linux入侵预防排查

Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Crontab定时任务教研笔记

Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Crontab定时任务教研笔记

linux定时任务crontab的使用

Linux基础之任务计划(at,crontab)

linux定时任务