crond定时任务详解

首先来了解一下chkconfig这个命令:

chkconfig命令检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

  参数:

     --add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;

     --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;

       --level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕

等级代号列表:

等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
chkconfig --list             #列出所有的系统服务。

[[email protected] ~]# chkconfig --list crond
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off

列出系统在每个执行等级中有没有执行crond服务

linux定时任务分为两种:

1.系统自身定期执行的任务(系统任务调度)

比如系统日志的轮询、备份系统数据、清除系统缓存等,可以通过vi配置/etc/crontab这个文件,它是一个纯文本文件,当然只有root能配置,修改完之后要通过/etc/init.d/crondrestart重启crond服务

[[email protected] ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,f                                                                                        ri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

2.用户执行的定时任务(用户调度任务)

  1)at:只适合执行一次就结束的突发性调度任务,依赖于服务------atd

  2)anacron:适合非7*24小时开机的服务器,是开机执行的调度任务,开机后会自动检测停机期间该执行而未执行的任务,在开机后一次性执行一遍

  3)crond:一个守护进程(即后台执行的进程),依赖于服务------crond,默认情况下每分钟检查系统中是否有要执行的定时任务,若有,则会根据事先定义好的规则执行这个任务,所以对于秒级的定时任务,crond自身是实现不了的,必须通过方法改进......
    crond与crontab的区别:crond服务是运行的程序,而crontab是用户用来设置定时规则的命令,是一个执行文件------/usr/bin/crontab

    crondtab的语法:

        参数:  

          -u:指定在哪个用户下面编辑定时任务,默认不写为当前用户

          -e:修改定时任务,即ceontab文件的内容

          -l:查看定时任务,即ceontab文件的内容

          -r:移除定时任务,把当前用户的整个crontab文件删掉,一般不用,而是直接-e,取文件里面删除不要的内容

          -i:确认功能

          crontab -l/-e操作的是/var/spool/cron中的当前用户的crontab文件,即

crontab -u root -l/-e == cat/vi /var/spool/cron/root

          当用户创建定时任务后,对应的配置文件会存在于/var/spool/cron/中,文件名与用户名一致

    用户的定时任务规则一般分为6列:

      1.minute【0~59]  hour【0~23】  day【1~31】  month【1~12】  week【0~7】  command

      2.week中0和7都为周日,也可以用sun,mon,tue,wed,thu,fri,sat来代替

      3.日和周尽量不要一起用

      4.符号:

* 表示任意时间都 (00 23 * * * cmd:每天23:00执行cmd)
- 时间范围
分割时段的范围
/n
每n个时间单位,前面一般加*(*/5 * * * * cmd :每个五分钟执行一次cmd)

扩展:

1.我们可以通过编辑 /etc/cron.deny和 /etc/cron.allow 这两个文件控制允许或者不允许文件中的用户使用crontab命令,/etc/cron.allow的优先级比较大,一般使用/etc/cron.deny,把不允许使用crontab命令的用户写进去就行啦

2.所有用户的配置文件默认存放在/var/spool/cron/目录中,文件名以用户名命名

原文地址:https://www.cnblogs.com/xqr2018/p/8922248.html

时间: 2024-11-13 09:41:53

crond定时任务详解的相关文章

Linux 定时重启tomcat及配置定时任务详解

Linux 定时重启tomcat及配置定时任务详解 1.首先编写重启tomcat脚本 #!/bin/sh TOMCAT_PATH=tomcat地址路径/bin echo "TOMCAT_PATH is $TOMCAT_PATH" PID=`ps aux | grep tomcat地址路径 | grep java | awk '{print $2}'` if [ -n "$PID" ]; then echo "Will shutdown tomcat: $P

linux 定时任务详解

其实定时任务我们经常要用到,比如凌晨备份数据库,跑一些php脚本之类的都需要用到定时任务. 下面我来分析下定时任务的两个命令: at 说明:执行定时任务,只运行一次.并且依赖于atd服务运行 选项: -q queue:将任务放到队列中去,不设置默认即为a队列 -l: 显示所有队列的任务. 相当于atq命令 -d NUM:删除指定号码的任务. 相当于atrm命令 -f FILE:从一个文件中输入替换标准键盘输入 -v:显示任务执行的时间 时间选项: at允许使用一套相当复杂的指定时间的方法.他能够

spring quartz 配置实现定时任务 详解

一. 编写定时任务JAVA类 比如: public class QuartzJob {     public QuartzJob(){         System.out.println("quartzJob");     }     //@Scheduled(cron = "0/1 * *  * * ? ")     public void run(){         System.out.println("Quartz执行一次定时任务")

spring定时任务详解(@Scheduled注解)

在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd (二)启用注解驱动的定时任务 <task:annot

spring定时任务详解

(一)在spring.xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd (二)启用注解驱动的定时任务 <task:annotation-driven executor="exe

20160929老男孩运维视频L4-01系统定时任务crond理论详解

Linux日志默认存放位置 /var/log/ 轮询任务和用户任务 crond 命令 默认的设置crond用户的文件 /etc/crond.deny  #这是不准使用crond的用户就写时这个文件内 /etc/crond.allow #能使用crond的用户写入这里 /var/spool/cron/ #这是放crond命令文件的地方 crontab 命令格式 crontab [-u 用户名] [文件路径] crond的文件写入格式 ***** /文件与命令 解释 分 时 天 月 周 /文件与命令

linux 定时任务详解 按秒设定

实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使用cron服务,先要安装vixie-cron软件包和crontabs软件包,两个软件包作用如下: vixie-cron软件包是cron的主程序.crontabs软件包是用来安装.卸装.或列举用来驱动 cron 守护进程的表格的程序. 查看是否安装了cron软件包: rpm -qa|grep vixi

centos crontab 定时任务详解

安装crontab: yum install crontabs 说明: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 查看crontab服务状态:service crond status 手动启动crontab服务:service crond start 查看crontab

Crontab 定时任务详解

计划任务分2种: 1.  例外性:按一定的周期循环来执行工作,例如每月发薪水.每天一次的工作报告.每天需要的打卡等等: 2.  临时性:指定时间执行的命令,这次做完下次不必做的,例如女朋友的生日.领导检查工作等: 这些计划任务的工作 Linux也都可以帮助我们,例如:每天早6:00要叫我起床(当然是通过音频设备了):下班之前发送一份Email给自己,提醒别忘记发日报等等: 对于周期性的任务用cron命令: 对于临时性的任务用 at 命令: at命令:在指定的时间执行指定的命令,执行完之后就从系统