Linux: 系统配置 crond 和 crontab(有图有代码有真相!!!)

来源:互联网 发布:淘宝怎么判定假冒商品 编辑:程序博客网 时间:2024/06/03 19:33

1、相关概述

linux下工作调度的种类有:at  ,  cron 

一种是例行性的,就是每隔一定的周期来办某事。

一种是突发性的,就是做完这一次没有以后。

crontab这个命令所设置的工作将会一直循环进行下去,循环的时间可以是分钟、小时、每周、‘每月、每年等,crontab除了命

令执行外,也可以编辑/etc/crontab来支持,而crond就是让crontab生效的服务。

2、crond 和 crontab :

crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准

输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护

进程。

3、crond 定时任务

Crond是linux系统用来定期执行命令或指定程序任务的一种服务或软件。一般情况下,我们安装完CentOS5/6linux操作系统之后,默认便会启动

Crond任务调度服务。Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作。如果有,便会根据其预先设定的定时任务规

则自动执行该定时任务工作。这个Crond定时任务服务就相当于我们早上使用的闹钟一样。


linux系统中定时任务调度的工作可以分为以下两种情况:

1)、 linux系统自身定期执行的任务工作:系统周期性自行执行的任务工作,如轮询系统日志、备份系统数据、清理系统缓存等,

这些任务无须我们人为干预。例如:



2)、用户执行的任务工作:某个用户或系统管理员定期要做的工作,例如每隔5分钟和互联网上的时间服务器进行时间同步,

每天晚上0点备份网站站点数据及数据库数据,一般这些工作需要由用户自己来设置。


3)、crond服务是运行的程序,而crontab是用户用来设置定时规则的命令。


crontab -l 查看用户设置的定时任务)

crontab-e 编辑定时任务配置文件

crontab-u 设定某个用户的crontab服务只有root用户才能执行

crontab-r 删除crontab文件

crontab-i 删除crontab文件给出提示


4)crontab语法格式中时间段的含义

含义

取值范围(整数)

第一段

表示分钟

00-59(00也可以是0)

第二段

表示小时

00-23

第三段

表示日、天

01-31

第四段

表示月份

01-12

第五段

表示星期、周几

0-7(0和7都表示周日)

提示:记忆口诀:分时日月周




5)crontab语法格式中特殊符号含义


特殊符号

含义

*

*号表示任意时间都,实际就是“每”的意思。如:00 23 * * * cmd表示每月每周每日的23:00都执行cmd任务。

提示:定时任务如果是到小时,口述时就最多提每天。

分位上的*就等价于0-59,表示每分。

-

减号,表示分隔符,表示一个时间范围,区间段,如17-19点,每天的17,18,19点的00分执行任务。00 17-19 * * * cmd。就是17,18,19点整点分别执行的意思。

逗号,表示分隔时段的意思。30 17,18,19 * * * /bin/sh /scripts/test.sh 表示每天17、18、19点的半点时刻执行/scripts/test.sh脚本。

/n

n代表数字,即“每个n单位时间”,例如:每10分钟执行一次任务,可以写成*/10 * * * * cmd,其中*/10的意思是每10分钟执行cmd命令。



4、用户定时任务例子

基本格式 : 

*  *  *  *  *  command 

分 时 日 月 周 命令 

第1列表示分钟1~59 每分钟用*或者 */1表示 

第2列表示小时1~23(0表示0点) 

第3列表示日期1~31 

第4列表示月份1~12 

第5列标识号星期0~6(0表示星期天) 

第6列要运行的命令


每个一分钟执行一次 test.sh







原创粉丝点击