Linux
使用crontab
编写定时任务
安装
yum install -y crontab
crontab
服务启动与关闭
service crond start #启动服务
service crond stop #关闭服务
service crond restart #重启服务
service crond reload #重新载入配置
service crond status #查看状态
chkconfig crond on #设置开机自动启动crond服务:
chkconfig –list crond #开机级别的crond服务运行情况 ,2、3、4、5级别开机会自动启动crond服务
chkconfig crond off #取消开机自动启动crond服务:
命令
在线工具箱, 可以查看定时任务的命令是否正确, 或者直接百度 crontab在线工具
查看更多命令more /etc/crontab
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
-
minute
: 表示分钟,可以是从0到59之间的任何整数。 -
hour
:表示小时,可以是从0到23之间的任何整数。 -
day
:表示日期,可以是从1到31之间的任何整数。 -
month
:表示月份,可以是从1到12之间的任何整数。 -
week
:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 -
command
:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。 -
*
表取值范围内的数字 例如month字段如果是星号,则表示每月都执行该命令操作 -
/
代表每,可以指定时间的间隔频率,例如0-23/2
表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10
,如果用在minute字段,表示每十分钟执行一次。 -
-
代表从某个数字到某个数字 例如2-6
表示2,3,4,5,6
-
,
分开几个离散的数字 例如,1,3,5,7,9
查询当前用户定时任务或删除当前用户定时任务
crontab -l --
列出当前用户定时任务
crontab -r --
删除当前用户定时任务(删除所有,除非不再使用,否则没必要使用
crontab -e
编辑命令 (或者vi /etc/crontab
)
例子
- 每分钟写入
hello world - 时间戳
到/data/web/text.txt
文件中,并且输出到控制台
* * * * * echo "hello world \n-------`date`" >> /data/web/text.txt
- 基本例子
每1分钟执行一次 | * * * * * |
---|---|
每小时的第3和第15分钟执行 | 3,15 * * * * |
在上午8点到11点的第3和第15分钟执行 | 3,15 8-11 * * * |
每隔两天的上午8点到11点的第3和第15分钟执行 | 3,15 8-11 */2 * * |
每个星期一的上午8点到11点的第3和第15分钟执行 | 3,15 8-11 * * 1 |
每晚的21:30执行 | 30 21 * * * |
每月1,10,22日的4:45执行 | 45 4 1,10,22 * * |
每周六,周日的1:10执行 | 10 1 * * 6,0 |
每天18:00至23:00之间每隔30分钟执行 | 0,30 18-23 * * * |
每星期六的晚上11:00pm执行 | 0 23 * * 6 |
每一小时执行 | * */1 * * * |
晚上11点到早上7点之间,每隔一小时执行 | * 23-7/1 * * * |
每月的4号与每周一到周三的11点执行 | 0 11 4 * mon-wed |
一月一号的4点执行 | 0 4 1 jan * |
指定每小时的第5分钟执行一次 | 5 * * * * |
指定每天的5:30执行 | 30 5 * * * |
指定每月8号的7:30分执行 | 30 7 8 * * |
指定每年的6月8日5:30执行 | 30 5 8 6 * |
指定每星期日的6:30执行 | 30 6 * * 0 |
每月10号及20号的3:30执行 | 30 3 10,20 * * |
每天8-11点的第25分钟执行 | 25 8-11 * * * |
每15分钟执行一次 | */15 * * * * |
每个月中,每隔10天6:30执行一次 | 30 6 */10 * * |
每天早上8点30分执行 | 30 08 * * * |
每周日下午6点30分执行 | 30 18 * * 0 |
每周日下午6点30分执行 | 30 18 * * Sun |
每年6月10日早上8点30分执行 | 30 08 10 06 * |
每月1日,15日,29日晚上9点30分各执行一次 | 30 21 1,15,29 * * |
每隔10分钟执行一次 | */10 * * * * |
从早上9点到下午6点,凡遇到整点就执行 | 00 09-18 * * * |
每隔5秒执行一次 | */5 * * * * |
每隔1分钟执行一次 | 0 */1 * * * |
每天23点执行一次 | 0 23 * * * |
每天凌晨1点执行一次 | 0 1 * * * |
每月1号凌晨1点执行一次 | 0 1 1 * * |
在26分,29分,33分执行一次 | 0 26,29,33 * * * |
每隔两天的上午8点到11点的第3和第15分钟执行 | 3,15 8-11 */2 * * |
每周一上午8点到11点的第3和第15分钟执行 | 3,15 8-11 * * 1 |
每晚的21:30执行 | 30 21 * * * |
每月1,10,22日的4:45执行 | 45 4 1,10,22 * * |
每一小时执行 | * */1 * * * |
晚上11点到早上7点之间,每隔一小时执行 | 0 23-7 * * * |
每隔1分钟执行一次 | 0 */1 * * * |
每天22点执行一次 | 0 22 * * * |
在24分,30分执行一次 | 0 24,30 * * * |
每天早上6点 | 0 6 * * * |
每两个小时 | 0 */2 * * * |
晚上11点到早上8点之间每两个小时和早上八点 | 0 23-7/2,8 * * * |
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 | 0 11 4 * 1-3 |
1月1日早上4点 | 0 4 1 1 * |
[每小时第一分钟]执行 | 01 * * * * |
[每天凌晨4:02]执行 | 02 4 * * * |
[每星期周日凌晨4:22]执行 | 22 4 * * 0 |
[每月1号凌晨4:42]去执行 | 42 4 1 * * |
每周一,三,五的下午3:00执行 | 00 15 * * 1,3,5 |
每小时的10分,40分执行 | 10,40 * * * * |
每小时的1分执行 | 1 * * * * |
每天早晨三点二十分执行 | 20 3 * * * |
每五分钟执行 | */5 * * * * |
每小时执行 | 0 * * * * |
每天执行 | 0 0 * * * |
每周执行 | 0 0 * * 0 |
每月执行 | 0 0 1 * * |
每年执行 | 0 0 1 1 * |
在每小时的46分钟后每6小时运行一次 | 46 */6 * * * |
在凌晨2:10运行 | 10 2 * * * |
在凌晨3:15运行 | 15 3 * * * |
凌晨4:20运行 | 20 4 * * * |
凌晨5:31运行 | 31 5 * * * |
在下午5:31运行 | 31 17 * * * |
每分钟执行 | * * * * * |
每2分钟执行 | */2 * * * * |
每小时的2分执行 | 2 * * * * |
每半小时执行 | */30 * * * * |
分钟是50分的倍数时执行 | */50 * * * * |
每天整点执行 | 0 * * * * |
每小时的15分执行 | 15 * * * * |
每天12点5分 执行 | 5 12 * * * |
每天10点到18点整点执行 | 0 10-18 * * * |
每天10点和18点半点执行 | 30 10,18 * * * |
从0点开始,每隔4小时半点执行 | 30 */4 * * * |
从1点开始,每隔4小时半点执行 | 30 1-23/4 * * * |
每周六中午12点执行 | 0 12 * * 6 |
每周六中午12点执行 | 0 12 * * sat |
每周二,四,六中午12点执行 | 0 12 * * 2-6/2 |
周末中午12点执行 | 0 12 * * sat,sun |
每周日的凌晨0点执行 | 0 0 * * 0 |
每周一,二的8点和12点执行 | 0 8,12 * * 1,2 |
每月1日的凌晨0点执行 | 0 0 1 * * |
每月25日的17点执行 | 0 17 25 * * |
每单数月份的25日的17点执行 | 0 17 25 */2 * |
每小时的第5和第15分钟执行 | 5,15 * * * * |
在上午9点到11点的第5和第15分钟执行 | 5,15 9-11 * * * |
每隔3天的上午9点到11点的第5和第15分钟执行 | 5,15 9-11 */3 * * |
每个星期一的上午9点到11点的第5和第15分钟执行 | 5,15 9-11 * * 1 |
每月1,11,21日的14:45重启httpd | 45 14 1,11,21 * * |
每周六,周日的1:10执行 | 10 1 * * 6,0 |
每小时执行 | 01 * * * * |
每隔1分钟执行一次 | */1 * * * * |
每隔10分钟执行一次 | */10 * * * * |
每1小时执行一次 | 0 */1 * * * |
每2小时执行一次 | 0 */2 * * * |
每天10点执行 | 0 10 * * * |
每天19点30分执行 | 30 19 * * * |
每周一10点执行 | 0 10 * * 1 |
每周五17点30分执行 | 30 17 * * 5 |
每年的10月1日10点执行 | 0 10 1 10 * |
每年的8月8日20点执行 | 0 20 8 8 * |
指定每小时的第5分钟执行一次命令 | 5 * * * * |
指定每天的5:30执行命令 | 30 5 * * * |
指定每月8号的7:30分执行命令 | 30 7 8 * * |
指定每年的6月8日5:30执行命令 | 30 5 8 6 * |
指定每星期日的6:30执行命令 | 30 6 * * 0 |
每月10号及20号的3:30执行命令 | 30 3 10,20 * * |
每天8-11点的第25分钟执行命令 | 25 8-11 * * * |
[每15分钟执行一次命令即每个小时的第0 15 30 45 60分钟执行命令] | */15 * * * * |
[每个月中,每隔10天6:30执行一次命令即每月的1,11,21,31日是的6:30执行一次命令 | 30 6 */10 * * |
每天 02:00 执行任务 | 0 2 * * * |
每天5:00和17:00执行任务 | 0 5,17 * * * |
每周日 17:00 执行任务 | 0 17 * * sun |
每10min 执行一次任务 | */10 * * * * |
在每周五,周日的17点执行任务 | 0 17 * * sun,fri |
每四个小时执行一个任务 | 0 */4 * * * |