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

doy 18 定时任务的更多相关文章

  1. Quartz.Net在windows服务中的使用

    写在前面 这几天在弄一个项目,需要定时抓取一些数据,当时也想直接用timer算了.因为之前也弄过这样的项目,但是一想,已经用过了,再去使用同一种思路,未免太乏味了.就换了一种新玩法.这里将之前看到的一 ...

  2. RabbitMQ消息中间件极速入门与实战

    1:初识RabbitMQ RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AM ...

  3. Linux 常用命令 , 其他名 , 文件管理

    Linux 常用命令 , 其他名 , 文件管理 一丶Linux常用的指令 1. bsystemctl stop firewalld #关闭防火墙 2. iptables -F #清空防火墙规则 3. ...

  4. SpringBoot学习18:springboot使用Scheduled 定时任务器

    Scheduled 定时任务器:是 Spring3.0 以后自带的一个定时任务器. 1.在pom.xml文件中添加Scheduled依赖 <!-- 添加spring定时任务 Scheduled ...

  5. SpringBoot: 18.使用Scheduled 定时任务器(转)

    Scheduled 定时任务器:是 Spring3.0 以后自带的一个定时任务器. 1.在pom.xml文件中添加Scheduled依赖 <!-- 添加spring定时任务 Scheduled ...

  6. [JAVA]定时任务之-Quartz使用篇

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个, ...

  7. spring 定时任务@Scheduled

    1.配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:/ ...

  8. Quartz定时任务

    spring多个定时任务quartz配置 例子1: biz-quartz-context.xml配置 <?xml version="1.0" encoding="U ...

  9. Yii2 定时任务创建(Console 任务)

    Yii2的定时任务可以有两种写法,原理都是通过服务器的定时任务去调用 1.通过调用指定的URL访问 就相当于在浏览器中访问 2.通过console调用 下面我们就来说说Console 是如何实现定时任 ...

  10. spring定时任务详解(@Scheduled注解)( 转 李秀才的博客 )

    在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.or ...

随机推荐

  1. select multiple 浏览器兼容

    select multiple 时一般是设置 height <select multiple="multiple" style="height:87px;" ...

  2. oracle to_char函数的用法

    select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; 其中,HH24代表是24小时制的,mi代表分钟,不要写为mm

  3. JavaScript 错误 throw、try、catch

    JavaScript错误throw.try.catch try:语句测试代码的错误: catch:语句处理错误: throw:语句创建自定义错误: finally:语句在try和catch语句之后,无 ...

  4. LOD Group

    LOD Group 调节摄像机距离,在不同的距离显示不同物体.常用于物体高低模之间的转换,如离摄像机较远时渲染低模物体,离摄像机较近时渲染高模物体.

  5. 2020icpc济南 - A

    组合数学 + 高斯消元 [A-Matrix Equation_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(济南) (nowcoder.com)](https://codeforces.c ...

  6. Vue基础 · 组件的使用(4)

    组件 将公用的功能抽离出来,形成组件:目的:复用代码. 1.1 全局组件 <div id="app"> <!--引用组件,可多次引用--> <demo ...

  7. Java数组之数组的使用

    数组的使用 普通的for循环 For-Each循环 数组作方法入参 数组作返回值 public class ArrayDemo03 { public static void main(String[] ...

  8. 把一个元器件的原理图分成多个Part-转载

    (24条消息) [AD20]把一个元器件的原理图分成多个Part_不知道在干嘛每天的博客-CSDN博客_ad中原理图怎么分成几部分 以LM358芯片为例:把LM358原理图的A和B分开画,分成A和B两 ...

  9. 记事本默认编码改为UTF-8

    前端时间发现用记事本直接创建的记录目标信息的TXT文本再用sublime打开变成了乱码,才发现编码有问题,记事本直接创建的文本编码竟然是ANSI编码. 于是动手将记事本默认编码改为UTF-8. 记事本 ...

  10. jquery获取父级容器高度

    //获取浏览器显示区域的高度console.log( $(window).height()); //获取浏览器显示区域的宽度console.log($(window).width()); //获取页面 ...