Linux下的crond和crontab调研

来源:互联网 发布:程序员教程 pdf 编辑:程序博客网 时间:2024/05/21 13:55

Linux下的crond和crontab调研

1、基本概念

1)crond
   crond的概念和crontab是不可分割的。   crond是一个命令,常见于Unix和类Unix的操作系统中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放区“crontab”文件中,以供之后读取和执行。
   crond正是crontab的守护进程。
2)crontab文件
   crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保一个针对整个系统的contab文件,该文件通常存放在/etc或者/ect之下的子目录中,而这个文件智能由系统管理员来
修改。
   crontab文件的每一行均遵循特定的格式,由空格或tab分割为数个领域,每个领域可以放置单一或多个数值。
   crontab文件的使用权限时:root用户和crontab文件的拥有者。
   crontab是用来让使用者在固定时间或固定时间间隔执行程序之用,也就是类似使用者的时程表。
Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:   文件 含义   /etc/cron.deny 该文件中所列的用户不允许使用Crontab命令   /etc/cron.allow 该文件中所列的用户允许使用Crontab命令   /var/spool/cron/ 是所有用户的crontab文件   /var/spool/cron/crontabs /var/spool/cron/crontabs

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

3、测试用例

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1. 以普通用户登录linux系统

2. $crontab -e

说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

$EDITOR=vi

$export EDITOR

3. 输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM

4. $su root

5. $cd /etc/init.d

6. ./crond restart

具体实例

//每天7:50开启ssh服务

50 7 * * * /sbin/service sshd start

//每天22:50关闭ssh服务

50 22 * * * /sbin/service sshd stop

//每月15号和30号检查/home 磁盘

0 0 15,30 * * fsck /home

原创粉丝点击