/*********************************************************************
* 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
进行重新启动,以便新加入的条目能够生效。
/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