crond与crontab调研

  • Post author:
  • Post category:其他



1、概念:

crond的概念和crontab是不可分割的。
1)crond
   crond是Linux下用来周期执行某种任务或等待处理某些事件的一个守护进程。当安装完成操作系统后,默认会安装此服务工具,并会自动启动crond进程,crond服务会定期检查系统中是 否有要执行的任务。如果有要执行的任务便会自动执行该任务。crond是一个命令,该命令从标准输入设备读取指令,并将其存放区“crontab”文件中,以供之后读取和执行。作业规划进程是Linux下用来定期执行命令或指定程序任务的一种服务或软件。 

crond正是crontab的守护进程

2)crontab文件
    crontab是一个可以在crond服务上添加或编辑定时任务的命令 crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的contab文件,该文件通常存放在/etc或者/ect之下的子目录中,而这个文件智能由系统管理员来修改。crontab文件的每一行均遵循特定的格式,由空格或tab分割为数个领域,每个领域可以放置单一或多个数值。crontab文件的使用权限时:root用户和crontab文件的拥有者。crontab是用来让使用者在固定时间或固定时间间隔执行程序之用,也就是类似使用者的时程表。
2、基本用法

1)

查看crond服务状态命令:


service crond status


启动crond服务:



service crond start



2)Crontab命令的格式为:crontab –l|-r|-e|-i [username]

crontab基本用法的命令行格式:

crontab [-u user] [file]

crontab [-u user] [-e|-l|-r]

crontab -l -u [-e|-l|-r]

其参数含义如下

-l 显示用户的Crontab文件的内容 crontabl –l

-i 删除用户的Crontab文件前给提示 crontabl -ri

-r 从Crontab目录中删除用户的Crontab文件 crontabl -r

-e 编辑用户的Crontab文件 crontabl -e

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

* *  *  *   *  command
分 时 日  月  周    命令

其时间段的含义如下

段 含义 取值范围

第一段 代表分钟 0—59

第二段 代表小时 0—23

第三段 代表日期 1—31

第四段 代表月份 1—12

第五段 代表星期几 0代表星期日 0—6

在etc/目录下有一个crontab文件,这个就是系统调度的配置文件

3、测试实例:

1)crond使用实例: 

实例1:每1分钟执行一次command 

命令: 

* * * * * command

实例2:每小时的第3和第15分钟执行 

命令: 

3,15 * * * * command

实例3:在上午8点到11点的第3和第15分钟执行 

命令: 

3,15 8-11 * * * command

实例4:每隔两天的上午8点到11点的第3和第15分钟执行 

命令: 

3,15 8-11 /2 * command

实例5:每个星期一的上午8点到11点的第3和第15分钟执行 

命令: 

3,15 8-11 * * 1 command

实例6:每晚的21:30重启smb 

命令: 

30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb 

命令: 

45 4 1,10,22 * * /etc/init.d/smb restart

2)crontab测试实例:

 示例在Linux下实现 每分钟向文件下写入当前时间: 

新建crontab任务: 

crontab -e //打开crontab任务编辑器; 

输入* * * * * date >> /tmp/mytime.txt //每分钟在/tmp/mytime.txt文件下写入当前时间; 

过一段时间输入指令 cat /tmp/mytime.txt //输出/tmp/mytime.txt 文件的内容; 

结果如下图: 



版权声明:本文为t_x_l_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。