Linux Cron 表达式

时间:2019-01-10
本文章向大家介绍Linux Cron 表达式,主要包括Linux Cron 表达式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Linux Cron表达式

Cron表达式的定义

Linux的Cron表达式支持分钟、小时、月的某天、月份、周当中的某天,最小的粒度到分钟、最大的粒度到月份和周的某天。

编辑一个linux定时任务:

crontab -e

每位的意义

* * * * * 要执行的命令
----------------
| | | | |
| | | | ---- 周当中的某天 (0 - 7) (周日为 0 或 7)
| | | ------ 月份 (1 - 12)
| | -------- 一月当中的某天 (1 - 31)
| ---------- 小时 (0 - 23)
------------ 分钟 (0 - 59)

取值范围

代表意义 分钟 小时 日期 月份 指令
数字范围 0-59 0-23 1-31 1-12 0-7 定时执行的命令

表达式中的特殊字符

特殊字    符 代表意义
*(星号) 代表任何时刻!例如每天每月每周都可以用*
,(逗号) 代表分隔时间点。例如在每天的3点和6点执行命令:
0 3,6 * * * command
-(中划线) 代表一段时间间隔。例如 8 点到 12 点之间的每小时的 20 分执行命令:
20 8-12 * * * command
/n(斜线) n表示一个整数,代表每个n间隔。例如每五分钟执行命令:
*/5 * * * * command

表达式应用示例

# 每天晚上1点调用/home/testuser/test.sh
0 1 * * * /home/testuser/test.sh 


# 每10钟调用一次/home/testuser/test.sh
/10 * * * /home/testuser/test.sh 

# 每晚的21:30重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart 

# 在每天18:00至23:00之间每隔30分钟重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 

# 每月1、10、22日的4 : 45重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 

# 每周六、周日的1:10重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart