/*********************************************************************
 * Author  : Samson
 * Date    : 08/08/2012
 * Test platform:
 *               GNU Linux version 2.6.29.4
 *               gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC)

 * *******************************************************************/

crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

  参数 :
  -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
  -r [UserName]: 删除目前的时程表
  -l [UserName]: 列出目前的时程表
  -v [UserName]:列出用户cron作业的状态

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)

第6列要运行的命令


例子:

例如:每2分钟执行一个shell文件,则使用:
crontab -e 打开配置文件,在最后输入:
*/2 * * * * /home/samson/crontabtest/test.sh
每两小时为:
* */2 * * * shellprogram_name

其它依此类推。
注意:/home/samson/crontabtest/test.sh要有可执行的权限哟。
配置完成后,保存,再执行:
/etc/init.d/crond restart  或 service crond restart

进行重新启动,以便新加入的条目能够生效。


每天10点执行:

* 10 * * * shellprogram_name


/home/samson/crontabtest/test.sh的内容为:
#!/bin/bash
datetime=`date`
echo -e "write time is ${datetime} \n" >> /home/samson/yygydjtkhhh
echo -e "this is crontab test " >> /home/samson/yygydjtkhhh
echo -e "end\n"  >> /home/samson/yygydjtkhhh

则我们可以查看:
[root@UFO crontabtest]# cat /home/samson/yygydjtkhhh
write time is Thu Aug  9 09:32:01 CST 2012

this is crontab test
end

write time is Thu Aug  9 09:34:01 CST 2012

this is crontab test
end


Logo

更多推荐