【注】:想要使用crontab一定要启用crond服务,注意crond是一个服务
1、crond服务管理与访问控制
1.1 启动crond:service crond restart
1.2 设置为开机自启动:chkconfig crond on
一般不需要启动,与设置开机自启动,一般linux默认都是启动的,并且默认是开机自启动
2、crond服务启动后就可以使用crontab了
crontab -e :写入定时任务
crontab -l:查看定时任务
crontab -r:删除定时任务
格式:
第一个“*” :一小时当中第几分钟(0-59)
第二个“*” :一天当中第几小时(0-23)
第三个“*” :一个月当中第几天(1-31)
第四个“*” :一年当中第几月(1-12)
第五个“*” :一周当中星期几(0-7,0和7都代表星期日)
特殊符号:
* :代表任何时间。比如第一个*代表一小时中每分钟都执行一次的意思
, :代表不连续的时间。比如“0 8,12,16 * * * 命令”,代表每天8点0分,12点0分,16点0分都执行一次命令
- :代表连续的时间范围。比如“0 5 * * 1-6”,代表在周一到周六的凌晨5点0分执行命令
*/n :代表每隔多久执行一次。比如“ */10 * * * * 命令” ,代表每个10分钟执行一次命令
eg:
45 22 * * * 命令 //每天22点45分执行命令
0 17 * * 1 命令 //每周一的17点0分执行命令
0 5 1,15 * * 命令 //每月1号和15号的凌晨5点0分执行命令
*/10 4 * * * 命令 //每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令 //每月1号和15号,每周1的0点0分都会执行命令。【注】:星期几与几号最好不要同时出现,因为他们定义的都是天,非常容易让管理员混乱
如果要每几秒执行一次要自己写脚本,如每5s执行一次,如下:
#!/bin/bash
step=5
for (( i = 0; i < 60; i=(i+step) ))
do
/usr/local/php/bin/php /data/wwwroot/admin.eaglive.com/yii party-speed-compare/start
sleep $step
done
exit 0