doc: update cron.md

This commit is contained in:
jaywcjlove 2022-11-15 21:22:45 +08:00
parent 8e265becb5
commit f9ca460565
2 changed files with 33 additions and 27 deletions

View File

@ -109,7 +109,7 @@ Quick Reference
[Ansible](./docs/ansible.md)<!--rehype:style=background: rgb(238 0 0/var(\-\-bg\-opacity));&class=contributing tag&data-lang=RedHad&data-info=👆看看还缺点儿什么?--> [Ansible](./docs/ansible.md)<!--rehype:style=background: rgb(238 0 0/var(\-\-bg\-opacity));&class=contributing tag&data-lang=RedHad&data-info=👆看看还缺点儿什么?-->
[Awk](./docs/awk.md)<!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));--> [Awk](./docs/awk.md)<!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
[Conan](./docs/conan.md)<!--rehype:style=background: rgb(0 193 9/var(\-\-bg\-opacity));&class=tag&data-lang=C/C++--> [Conan](./docs/conan.md)<!--rehype:style=background: rgb(0 193 9/var(\-\-bg\-opacity));&class=tag&data-lang=C/C++-->
[CocoaPods](./docs/cocoapods.md)<!--rehype:style=background: rgb(0 193 9/var(\-\-bg\-opacity));&class=tag&data-lang=C/C++--> [CocoaPods](./docs/cocoapods.md)<!--rehype:style=background: rgb(251 0 6/var(\-\-bg\-opacity));&class=tag&data-lang=C/C++-->
[Cargo](./docs/cargo.md)<!--rehype:style=background: rgb(71 71 71/var(\-\-bg\-opacity));&class=tag&data-lang=Rust--> [Cargo](./docs/cargo.md)<!--rehype:style=background: rgb(71 71 71/var(\-\-bg\-opacity));&class=tag&data-lang=Rust-->
[Curl](./docs/curl.md)<!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));--> [Curl](./docs/curl.md)<!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->
[Chmod](./docs/chmod.md)<!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));--> [Chmod](./docs/chmod.md)<!--rehype:style=background: rgb(16 185 129/var(\-\-bg\-opacity));-->

View File

@ -16,8 +16,8 @@ Min Hour Day Mon Weekday
------- -------
``` ```bash
* * * * * 要执行的命令 * * * * * <要执行的命令>
┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ 星期几 (0=周日 .. 6=星期六) │ │ │ │ └─ 星期几 (0=周日 .. 6=星期六)
│ │ │ └────── 月 (1..12) │ │ │ └────── 月 (1..12)
@ -30,11 +30,12 @@ Min Hour Day Mon Weekday
| 字段 | 范围 | 特殊字符 | | 字段 | 范围 | 特殊字符 |
|--------------|--------|--------------------| |--------------|--------|--------------------|
| 分钟 Minute | 0 - 59 | , - * / | | 分钟 Minute | 0 - 59 | <kbd>,</kbd> <kbd>-</kbd> <kbd>*</kbd> <kbd>/</kbd>
| 小时 Hour | 0 - 23 | , - * / | | 小时 Hour | 0 - 23 | <kbd>,</kbd> <kbd>-</kbd> <kbd>*</kbd> <kbd>/</kbd>
| 月份中的某天 | 1 - 31 | , - * ? / L W | | 月份中的某天 | 1 - 31 | <kbd>,</kbd> <kbd>-</kbd> <kbd>*</kbd> <kbd>?</kbd> <kbd>/</kbd> <kbd>L</kbd> <kbd>W</kbd>
| 月 Month | 1 - 12 | , - * / | | 月 Month | 1 - 12 | <kbd>,</kbd> <kbd>-</kbd> <kbd>*</kbd> <kbd>/</kbd>
| 星期几 | 0 - 6 | , - * ? / L # | | 星期几 | 0 - 6 | <kbd>,</kbd> <kbd>-</kbd> <kbd>*</kbd> <kbd>?</kbd> <kbd>/</kbd> <kbd>L</kbd> <kbd>#</kbd>
| 年 Year | 19702099 | <kbd>,</kbd> <kbd>-</kbd>
<!--rehype:className=show-header--> <!--rehype:className=show-header-->
### 示例 ### 示例
@ -50,33 +51,38 @@ Min Hour Day Mon Weekday
| `0 0 * * 0` | 每个星期日的午夜 | | `0 0 * * 0` | 每个星期日的午夜 |
| `15 2 * * 1L` | 每月最后一个星期一凌晨 2 点 15 分 | | `15 2 * * 1L` | 每月最后一个星期一凌晨 2 点 15 分 |
| `15 0 * * 4#2` | 每个月的第二个星期四早上 00:15 | | `15 0 * * 4#2` | 每个月的第二个星期四早上 00:15 |
| `0 0 0 1 * *` | 每个月的 1 日(每月) | | `0 0 0 1 * *` | 每个月的 1 日(每月) |
| `0 0 0 1 1 *` | 每年 1 月 1 日(每年) | | `0 0 0 1 1 *` | 每年 1 月 1 日(每年) |
| `@reboot` | 每次重启 _(非标准)_ | | `@reboot` | 每次重启 _(非标准)_ |
### 特殊字符串 ### 特殊字符串
| 特殊字符串 | 意义 | | 特殊字符串 | 意义 |
|----------------|----------------------------------------------------| |----------------|----------------------------------------------------|
| @reboot | 运行一次,在系统启动时 _(非标准)_ | | @reboot | 运行一次,在系统启动时 _(非标准)_ |
| @yearly | 每年运行一次“0 0 1 1 *” _(非标准)_ | | @yearly | 每年运行一次“0 0 1 1 *” _(非标准)_ |
| @annually | (与@yearly 相同_非标准_ | | @annually | (与@yearly 相同)_(非标准)_ |
| @monthly | 每月运行一次“0 0 1 \* \*” _(非标准)_ | | @monthly | 每月运行一次“0 0 1 \* \*” _(非标准)_ |
| @weekly | 每周运行一次“0 0 \* \* 0” _(非标准)_ | | @weekly | 每周运行一次“0 0 \* \* 0” _(非标准)_ |
| @daily | 每天运行一次“0 0 \* \* \*” _(非标准)_ | | @daily | 每天运行一次“0 0 \* \* \*” _(非标准)_ |
| @midnight | (与@daily 相同_非标准_ | | @midnight | (与@daily 相同)_(非标准)_ |
| @hourly | 每小时运行一次“0 \* \* \* \*” _(非标准)_ | | @hourly | 每小时运行一次“0 \* \* \* \*” _(非标准)_ |
<!--rehype:className=show-header --> <!--rehype:className=show-header -->
### Crontab 命令 ### Crontab 命令
| - | - | | - | - |
|--------------|---------------------------------------------| |--------------|---------------------------------------------|
| `crontab -e` | 如果不存在,则编辑或创建一个 crontab 文件。 | | `crontab -e` | 如果不存在,则编辑或创建一个 crontab 文件 |
| `crontab -l` | 显示 crontab 文件。 | | `crontab -l` | 显示 crontab 文件 |
| `crontab -r` | 删除 crontab 文件。 | | `crontab -r` | 删除 crontab 文件 |
| `crontab -v` | 显示您上次编辑 crontab 文件的时间。 _非标准_ | | `crontab -v` | 显示您上次编辑 crontab 文件的时间 _(非标准)_ |
| `echo "@reboot echo hi" | crontab` | 轻松添加任务 |
轻松添加任务
```bash
echo "@reboot echo hi" \| crontab
```
### 特殊字符 ### 特殊字符
<!--rehype:wrap-class=col-span-2--> <!--rehype:wrap-class=col-span-2-->
@ -84,9 +90,9 @@ Min Hour Day Mon Weekday
| 特殊字符 | 说明 | | 特殊字符 | 说明 |
|---------------------|------------| |---------------------|------------|
`星号(*)` | 匹配字段中的所有值或任何可能的值。 `星号(*)` | 匹配字段中的所有值或任何可能的值。
`横杆(-)` | 用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五 `横杆(-)` | 用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五
`斜线 (/)` | 第一个字段(分钟)/15 表示每十五分钟或范围的增量。 `斜线 (/)` | 第一个字段(分钟)/15 表示每十五分钟或范围的增量。
`逗号(,)` | 用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行 `逗号(,)` | 用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行
`L` | 仅允许用于 `月份中的某天``星期几` 字段,`星期几` 中的 `2L` 表示每个月的最后一个星期二 `L` | 仅允许用于 `月份中的某天``星期几` 字段,`星期几` 中的 `2L` 表示每个月的最后一个星期二
`井号 (#)` | 仅允许用于 `星期几` 字段,后面必须在 1 到 5 的范围内。例如,`4#1` 表示给定月份的“第一个星期四”。 `井号 (#)` | 仅允许用于 `星期几` 字段,后面必须在 1 到 5 的范围内。例如,`4#1` 表示给定月份的“第一个星期四”。
`问号(?)` | 可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 `月份中的某天``星期几` `问号(?)` | 可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 `月份中的某天``星期几`