1、定时任务

1、什么是定时任务

类似日常生活之中的闹钟;主要用于定时执行某些命令,达到定时处理数据的作用。

2、定时任务的软件的种类

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

3、怎么加定时任务

1、定时任务加在哪里

1、定时任务配置文件

1、定时目录(需要执行的命令必须放在文件当中,同时也必须加上可执行权限)

/etc/cron.hourly : 每小时执行一次
/etc/cron.daily : 每天执行一次
/etc/cron.weekly : 每周执行一次
/etc/cron.monthly : 每月执行一次

2、定时任务的配置文件

/etc/crontab

3、定时任务编写文件

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


2、用户定时任务

1、定时任务的格式

分钟 小时 日期 月份 星期 (crontab表达式)

user-name 指的是执行这个定时任务的用户
运行的命令

* 代表每

案例1:要求在每天凌晨3点45分执行一次
45 3 * * *

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

2、定时任务保存的地方

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

3、可能会出现的提示

no crontab for oldboy02 :没有任何定时任务
crontab: installing new crontab : 新增了一个定时任务
Do you want to retry the same edit? : 编辑的定时任务可能会出现错误


4、定时任务的日志

当定时任务出现错误的时候,需要排查错误,就需要到定时任务日志文件中去查询错误的原因

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

5、定时任务的各种格式

案例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 * * *
0-59 8


案例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

 


mkdir /server/scripts -p

cd /server/scripts

vim miao.sh

> #!/bin/sh
>
> while true
>
> do
>
> echo lihui nb { (>>/tmp/a.log)-------后台执行;启动sh miao.sh &}
>
> sleep 1
>
> done

启动:sh miao.sh

查看 : ps -ef | grep miao

监控进程:tail -f /tmp/a.log

杀掉进程: kill [进程号]

Linux 定时任务分为两种 1、自身定期执行的任务

[root@localhost ~ 19:31:27]#ll /etc/|grep cron
-rw-------. 1 root root 541 Aug 9 2019 anacrontab
drwxr-xr-x. 2 root root 21 Sep 16 16:16 cron.d
drwxr-xr-x. 2 root root 42 Sep 16 16:17 cron.daily
-rw-------. 1 root root 0 Aug 9 2019 cron.deny
drwxr-xr-x. 2 root root 22 Sep 16 16:16 cron.hourly
drwxr-xr-x. 2 root root 6 Jun 10 2014 cron.monthly
drwxr-xr-x. 2 root root 6 Jun 10 2014 cron.weekly
-rw-r--r--. 1 root root 451 Jun 10 2014 crontab

2、用户执行的定时任务

​ crontab - l (查看用户执行的定时任务)

Linux 的定时任务分类 :

1、 at :适合执行一次就结束的调度任务你。突发性任务(依赖服务atd)

2、 anacron :适合于非7*24小时开机的服务器准备的;开机执行的

​ 检测停机期间没有执行任务,在开机后一次性执行一遍

3、 crond,Crond服务器默认情况(每分钟),会检查系统中是否有需要执行的定时任务,如果有就会根据事先定义好的规则来执行这个定时任务。crond 依赖的服务就是crond *****

提示:我们说的crond是一个定时任务守护进程,而crondtab 是用户用来设置定时任务规则的命令

-l :查看

-e : 编辑======= crontab -l ***

-i : 删除=======crontab -e *** 文件路径 /var/spool/cron/root

-r :删除=======crontab -ri

-u : 指定使用用户执行=======crontab -u boy -l

chkconfig --list crond :查看某一个任务是不是开机自启动了

/etc/init.d/crond start :启动

/etc/init.d/crond restart :重启

/etc/init.d/crond status :查看状态

 

posted on 2021-10-12 15:43  李辉111  阅读(136)  评论(0编辑  收藏  举报