简介
cron:计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的任务。
crond:crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护进程。
crontab:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。 以上摘自百度百科。
通俗理解: cron是一种规范,规定计划任务的规范。 crond是linux系统中实现cron规范的一个守护进程,会开启自启。 crontab是linux系统提供的一个操作crond进程的工具,通过这个工具用户可以添加自己的定时任务。
详解
cron定义规范
second minute hour day month week
second | 表示秒钟,可以是从0到59之间的任何整数 |
---|---|
minute | 表示分钟,可以是从0到59之间的任何整数 |
hour | 表示小时,可以是从0到23之间的任何整数 |
day | 表示日期,可以是从1到31之间的任何整数 |
month | 表示月份,可以是从1到12之间的任何整数 |
week | 表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日 |
特俗符号:
星号(*) | 代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作 |
---|---|
逗号(,) | 可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” |
中杠(-) | 可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” |
正斜线(/) | 可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次 |
注意: 各字段中间以空格隔开。crontab中没有秒,从分钟开始。
使用方法
代码语言:javascript复制crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
Bash
创建crontab文件,执行命令 crontab crontab文件
。
crontab文件可以是普通的文本文件。
示例:
代码语言:javascript复制touch crontab.file #创建名为crontab.file文件
echo '* * * * * /bin/echo `date` >> /aaa.txt' > crontab.file #将定时任务命令输入到crontab.file文件
crontab crontab.file #用crontab命令执行定时任务命令
Bash
依次执行上列命令,会发现根目录下的aaa.txt文件会记录每分钟的时间。
注意:所建立的crontab文件中,每一行都代表一项任务
其他命令参数讲解
-u user | 用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行 |
---|---|
-e | 编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件 |
-l | 显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容 |
-r | 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件 |
-i | 在删除用户的crontab文件时给确认提示 |
# crontab -l #将定时任务输出
* * * * * /bin/echo `date` >> /aaa.txt
# crontab -r #删除定时任务
# crontab -l #再输出定时任务提示没有
no crontab for root
Bash
crontab -e #编辑定时任务
编辑定时任务,按 ctrl x 退出。
结束语
定时任务的应用场景很多,比如定时备份文件、定时重启某服务。 一个还用的cron表达式在线生成网站----clickme。