关于crontab和crond

来源:互联网 发布:木门下单软件 编辑:程序博客网 时间:2024/06/08 07:28

定时任务?

顾名思义即固定一段时间执行一次的任务。

crontab和crond

crontab,该词来源于希腊语chronos,原意是时间。在Linux下是一个命令,用于设置周期性被执行的指令。

crond,与crontab是不可分割的,是crontab的守护进程。

crontab文件的格式

crontab命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
在/etc目录下有一个crontab文件,它是系统任务调度的配置文件,系统周期性所要执行的工作包括写缓存数据到硬盘、日志清理等。
/etc/crontab文件格式如下:
这里写图片描述
可以看出,crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定定时任务运行的时间范围, 第 6 个字段是要执行的任务。其中:
1. 分钟:0-59,表示分钟数与给出值相等时执行任务
2. 小时:0-23,表示小时数与给出值相等时执行任务
3. 日期:1-31,含义同上
4. 月份:1-12,含义同上
5. 周几:0-6,含义同上,其中数值为0时表示周日
特殊字符:
1. * ——星号,代表当前值为允许范围内的所有值,如第一个字段为*表示每一分钟都执行任务,即每个都、全部的意思
2. - ——减号,代表一段区间,如第一个字段为1-3表示1、2、3分钟执行任务
3. ,——逗号,代表一些值的集合,如第一个字段为1,2,4表示1、2、4分钟执行任务
4. /n ——n代表数值,如第一个字段为/3表示每3分钟执行一次任务

例子:
#每天早上6点10分
10 6 * * * date
#1月份日早上4点
0 4 1 jan * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date

crontab命令的基本用法

  1. crontab -u
    设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数。
  2. crontab -l
    列出当前用户的crontab任务。
  3. crontab -e
    编辑crontab任务。
  4. crontab -r
    删除当前的crontab任务。

测试用例

查看当前用户的crontab文件,若没有,编辑一个;
这里写图片描述
编写一个每隔1分钟往text.txt文件中输入当前时间的任务;
这里写图片描述
保存退出,并把任务运行起来;
这里写图片描述
查看test.txt文件,可以看见任务成功执行了;
这里写图片描述
删除当前crontab文件。
这里写图片描述