首页 > 代码库 > crontab指令详解

crontab指令详解

引用:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/06/3002602.html

具体指令请参考文章:linux指令。

详细版推荐原文。

 

注意(个人认为,还为经过测试):用户和用户之间使用不同的crontab文件。此文章 在此假设正确基础上完成。

 

crontab用途:在Unix和Linux之中,用于设置周期性被执行的指令。

在Linux系统中,Linux任务调度的工作主要分为以下两类:
1、系统执行的工作:系统周期性所要执行的工作,例如备份系统数据、清理缓存。
2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信。

 

系统调度的任务一般存放在/etc/crontab这个文件中。可使用cat /etc/crontab指令查看。

[zheng@localhost ~]$ cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  |  .---------- day of month (1 - 31)# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# |  |  |  |  |# *  *  *  *  * user-name  command to be executed

/etc/cron.allow 表示能使用crontab的用户,此文件优先识别。

/etc/cron.deny 表示不能使用crontab 命令的用户

 

二、.crontab命令语法及其各个参数含义

crontab命令的语法为:

crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ] 

各个参数说明:

-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 vi-r [UserName]: 删除目前的时程表-l [UserName]: 列出目前的时程表-v [UserName]:列出用户cron作业的状态

三、crontab命令的格式

用户可以使用 ’crontab -e‘ 打开自己crontab文件进行编辑(默认为vi)。

格式如下:各个字段之间用spaces和tabs分割。

* * * * * command path

调度命令的规则:需要注意部分上下限与日常不同。如:星期(0-6)。

字段名称取值范围
分钟0-59
小时  0-23
日期1-31
月历1-12
星期0-6
命令名称 

crontab命令中的一些常用特殊符号:

符号 说明
*表示任何时刻
,表示分割
表示一个段,如第二段里: 1-5,就表示1到5点
/n表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.

 

crontab指令详解