CentOS下CronTab任务周期计划详解

2020-01-30 15:48:14王旭

CronTab 任务周期计划

格式:

* * * * *  command

分(0-59)、时(0-23)、日(1-31)、月(1-12)、周(0-6)

说明:

1、星号可以匹配所有字符

2、一个整数、必须精确匹配

3、用短划线隔开的两个整数,它们匹配的是值的范围。

4、时间范围后加斜扛和一个步长值。1-10/2

普通用户流程:

crontab -e crontab是设置了setuid的,所以用户具有他的权限也就是root,并会在/tmp/cron....文件处理后保存在/var/spool/cron/$username中。

日志:

/var/log/cron

配置目录:

/var/run/crond.pid 进程号地址

/etc/crontab 使用指导文件

/etc/$weekday. 等分别时日月周的目录,即可以把脚本放进去他会按时执行。

/etc/cron.{deny,allow} 拒绝和允许用户使用crontab

Vixie-Cron:

centos安装时会默认安装此包,此包可以包括一个步长值。也就是如1,3,6,9,12 可以写成,1-12/3 除以3。所谓的*/1 */2也就是每一分钟每两分钟运行command。即1-59/{2,3}。

%号的运用:

%百分号表示command中的换行,只有第一个百分号之前的文本才包含在实际命令中,其余的行则作为该命令的标准输入。

安装:

yum install -y crontabs

使用:

crontab --help

crontab -e #检出一个crontab副本,调用vi编辑它,并重新保存在crontab目录。

crontab -l #将crontab的内容打印到标准输出。

crontab -r #册除并不留任何内容。

......

root册除其它用户。

crontab -r $username

[root@nagios ~]# crontab --help

crontab: invalid option -- '-'

crontab: usage error: unrecognized option

usage:crontab [-u user] file

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

(default operation is replace, per 1003.2)

-e(edit user's crontab)

-l(list user's crontab)

-r(delete user's crontab)

-i(prompt before deleting user's crontab)

-s(selinux context)

[root@nagios ~]# ll /usr/bin/crontab

-rwsr-xr-x 1 root root 47520 Jul 19  2011 /usr/bin/crontab

[root@nagios ~]# cat /var/run/crond.pid

2074

[root@nagios ~]# ll /etc/ |grep -E cron

drwxr-xr-x   2 root root    4096 Apr  2 00:59 cron.d

drwxr-xr-x.  2 root root    4096 Sep 27  2011 cron.daily

-rw-r--r--   1 root root       0 Jul 19  2011 cron.deny

drwxr-xr-x   2 root root    4096 Sep 27  2011 cron.hourly

drwxr-xr-x   2 root root    4096 Sep 27  2011 cron.monthly

-rw-r--r--   1 root root     457 Sep 27  2011 crontab

drwxr-xr-x   2 root root    4096 Sep 27  2011 cron.weekly

[root@nagios ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root