cron 博客分类: LINUX
crontab命令用于定时执行指定的命令,功能类似Windows下的“任务计划”,通常用来做一些重复性的工作。
Linux系统的用户只需将要执行的命令序列加到crontab文件中,操作系统即会按用户配置的时间执行这些命令序列。
向crontab文件里添加指令之前,需要检查下crontab服务是否已启动和是否开机自动启动:
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
打开服务配置,查看crond服务前的[]是否已选中(打*号为选中),若未选中则选中该服务。
使用命令:crontab -l 查看当前用户已配置的任务计划
编辑crontab文件命令:crontab -e
也可以不使用“crontab -e”命令创建crontab配置文件,其他任何文本编辑器编写命令序列,比如文件名为“abc.cron”,然后使用命令:“crontab abc.cron”将命令序列添加到crontab中。
默认情况下,系统所有用户都可以使用crond服务。如需对crond服务的使用加限制,可以使用配置文件/etc/cron.allow和 /etc/cron.deny,望文生义,cron.allow是允许使用crond服务的用户清单,cron.deny里的用户则相反
crontab命令的语法格式如下:
格式一:crontab [-u user] file
此命令用于添加一个新的crontab 文件
-u 如果使用该选项,指定用户的 crontab 文件将被修改,反之则修改执行 crontab 命令用户的 crontab 文件。
格式二:crontab [-u user] [ -e | -l | -r ]
-l 在标准输出上显示当前的crontab。
-r 删除当前的crontab文件。
-e 使用系统编辑器编辑当前的crontab文件。当编辑完成后,文件将自动安装。这种方式很方便,修改后即时生效。
废话了半天,这里才是重点。crontab 文件中命令格式如下:
minute hour day-of-month month-of-year day-of-week commands
即:“分 时 日 月 周 命令”,共计6段,前5段都是时间,最后一段才是你要定期执行的指令。每段之间使用空格或者制表符分隔。
来看一下前5段即日期和时间的取值范围:
1,分钟[00-59]
2,小时[00-23]
3,日[01-31]
4,月份[01-12]
5,周[0-6] ;注意,这里的0表示周日
OK,来个简单点的例子,每天早上6点半起床:
30 06 * * * echo "Get Up Now !" >> /tmp/test.txt
将上面这条指令另到crontab文件,系统每天上午6点半会向/tmp/test.txt文件里添加一行“Get Up Now !”。
上面这条指令里使用了特殊符号“*”,与SQL查询语句“SELECT * FROM TAB”里的“*”一样是“任何”的意思,即代表当前段取值范围内的所有数字,如第3段上的“*”代表[01-31]日,第4段上的“*”代表[01-12]月。
特殊符号除了“*”号还有“/”、“-”、“,”:
/ 代表“每”的意思,如“/5”表示每5个单位;
- 用于表示一个范围,如“[1-10]”表示从1到10;
, 用于表示若干离散的数字,如“5,15,25”
比如命令:[0-59]/5 23 * * * /sbin/shutdown -h now
表示每晚11点开始,每5分钟尝试一次关机,帮你养成早睡早起的好习惯,呵呵。机器关掉后,如果尝试开机,则到5的倍数时会再次关掉,酷似Windows 2000中了冲击波病毒。
00,10,20,30,40,50 * * * * echo "10 minutes has passed !" >> /tmp/test.txt
每小时的00分、10分、20分、30分、40分、50分向文件“/tmp/test.txt”写一行又十分钟过去喽。
根据上面的命令格式和时间描述方式,你就可以让系统在预订时间做些稀奇古怪的事了。
推荐阅读
-
记java 虚拟机bug... JVM BUG(s) - injecting delay5 times 博客分类: jvm jvmjetty
-
linux下oracle安装文件.cpio.gz文件的解压 博客分类: 笔记 cpiogzgunzip
-
java基础-参数数量可变的方法 博客分类: Java基础 java可变参数
-
Java流 - Java流操作 博客分类: Java 8
-
Java开发webservice 博客分类: JAVA
-
java基础-java类代码块执行顺序 博客分类: Java基础
-
solr学习笔记--从数据库中创建索引dataimport 博客分类: 热门技术 solr
-
几个不错的表格样式 博客分类: 前端技术
-
Java 合并、拆分PDF文档 博客分类: Java PDF JavaFree Spire.PDF for JavaPDF合并拆分PDF免费PDF控件
-
工作问题:http下载文件,中文文件名在firefox下乱码问题 博客分类: web前端http FireFox文件下载乱码