> 文章列表 > Linux使用crontab编写定时任务

Linux使用crontab编写定时任务

Linux使用crontab编写定时任务

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

Linux使用crontab编写定时任务

  • 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

例子

  1. 每分钟写入 hello world - 时间戳/data/web/text.txt文件中,并且输出到控制台
* * * * * echo "hello world \\n-------`date`" >> /data/web/text.txt

Linux使用crontab编写定时任务

  1. 基本例子
每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 * * *