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 :查看状态