Linux - cron - cron 表达式
-
概述
- 之前 cron 的补充
- 这次介绍下 表达式
-
背景
- 之前有说过 cron
- 这次说下 表达式
1. 准备
- 环境
- os
- centos7
- os
2. 模板文件
- 文件
-
位置
- /etc/crontab
-
作用
- 系统任务
- 不建议直接使用
- cron 表达式模板
- 协作参考
- 系统任务
-
3. cron 脚本
- 内容
-
变量
- shell
- 指定 shell
- path
- 添加路径
- 如果没有的话, 执行要 带程序的全路径
- mailto
- 如果出现问题, 会把信息发送给特定用户
- shell
-
任务定义
- 组成
- cron 表达式
- 执行用户
- 通常 都是创建 cron 任务的用户自己
- root 的权限可能大一些
- 执行命令
- 如果没有 path, 需要带 全路径
- 组成
-
4. cron 表达式
-
概述
- cron 表达式
- 表示按一定的频率, 执行操作
- cron 表达式
-
字段
-
概述
- linux 上的 cron 表达式一共 5 个字段
- 其他地方的, 可能会有 6 个
- 基本上 大同小异, 灵活处理即可
- linux 上的 cron 表达式一共 5 个字段
-
字段
-
解释
# /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
-
-
-
例子
# 1. 每分钟执行一次, 通常在每分钟的 第一秒 执行 * * * * * # 2. 每小时的 15 分, 执行一次 15 * * * * # 3. 每天 3:15, 执行一次 15 3 * * * # 4. 每个月 1 日 的 3:15, 执行一次 15 3 1 * * # 5. 每年的 2 月 1 日, 在 3:15 时执行一次 15 3 1 2 * # 6. 2 月的每个星期一, 在 3:15 时执行一次 # 日期 和 星期, 不能同时支持 15 3 * 2 1
-
进阶
-
概述
- 首先, 也不是什么太难的技巧
-
场景
- 执行多次
- 连续执行
- 间隔执行
- 执行多次
-
思路1: 多写几条 cron 任务
- 感觉
- 可行
- 但会不会 太笨了?
- 感觉
-
思路2: 调整 cron 表达式
# 只用 分钟 字段做例子, 其他字段也可以 # 1. 连续时间: 1, 10 分, 每分钟一次 1-10 * * * * # 2. 间隔时间: 1, 10 分, 各一次 1,10 * * * * # 3. 间隔时间: 每 10 分一次 */10 * * * *
-
感觉
- 这些东西, 基本就可以满足需要了吧
-
ps
-
ref
- 这次是自己记住了
- 肯定也是以前看的, 但现在想不起来哪看的了
- 这次是自己记住了
-
cron
- 这一块, 应该暂时完结了吧
- 如果再要讲, 估计就涉及到底层原理了
- 想想就觉得不会有那一天...
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出