一、Crontab
在linux服务器端,有时候我们往往有定时任务的需求,系统内置的cron进程能满足我们的需求,cron搭配shell脚本功能非常强大哦。crontab命令是cron table的简写,是cron的配置文件,又叫作业列表。
crontab [-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作作)
使用 crontab -e 进入当前用户的工作表Vim编辑,每行是一条命令。
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种。如下,
分 | 值为0-59 |
时 | 值为0-23 |
日 | 值为1-31 |
月 | 值为1-12 |
周 | 值为0-6(0代表星期天,1代表星期一,以此类推) |
0 6 * * * root /home/my/task/lala.py #每天6点执行lala.py python文件
0 3 * * * root /home/my/task/haha-start.sh #每天3点执行haha-start.sh脚本
- * 取值范围内的所有数字
- / 每过多少个数字
- - 从X到Z
- ,散列数字
二、设置Crontab步骤
1、root登录linux,输入命令 crontab -e 进入编辑模式。
2、配置定时脚本,比如定期重启tomcat
0 3 */7 * * root /usr/local/tomcat/bin restart.sh
3、保存退出
三、Crontab服务启动关闭和开机启动
cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务,
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看crontab服务状态
CentOS加入开机启动,
chkconfig –level 345 crond on
附录实例
1、每1分钟执行一次
* * * * * root /usr/local/my/test.sh
2、每小时的第3和第15分钟执行
3,15 * * * * root /usr/local/my/test.sh
3、在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * root /usr/local/my/test.sh
4、每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * root /usr/local/my/test.sh
5、每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 root /usr/local/my/test.sh
6、每月1、10、22日的4 : 45执行
45 4 1,10,22 * * root /usr/local/my/test.sh
7、每周六、周日的1 : 10执行
10 1 * * 6,0 root /usr/local/my/test.sh
8、每天18 : 00至23 : 00之间每隔30分钟执行
0,30 18-23 * * * root /usr/local/my/test.sh
9、每星期六的晚上11 : 00 pm执行
0 23 * * 6 root /usr/local/my/test.sh
10、每一小时执行
* */1 * * * root /usr/local/my/test.sh