diff --git a/docs/en-us/backup_cron.md b/docs/en-us/backup_cron.md new file mode 100644 index 00000000..a5b3448b --- /dev/null +++ b/docs/en-us/backup_cron.md @@ -0,0 +1,68 @@ +Contents +============= +- [Overview](#overview) +- [Configuration of scheduled backups](#configuration-of-scheduled-backups) + - [Cron expression format](#cron-expression-format) + - [Special characters](#special-characters) + - [Predefined schedules](#predefined-schedules) + +# Overview +The scheduled backup is currently supported for both S3 and NFS backups. You can use the cron expression to specify the backup schedule. Set the `backupSchedule` parameter under the `spec` field in the YAML file of the cluster, for example: + +```yaml +... +spec: + replicas: 3 + mysqlVersion: "5.7" + backupSchedule: "0 0 0 * * *" # daily + ... +``` +# Configuration of scheduled backups + +## Cron expression format + +A cron expression represents a set of times, using 6 space-separated fields in the format of `[second] [minute] [hour] [day] [month] [day of week]`. + +| Field name | Mandatory | Allowed values | Allowed special characters | +| ------------ | --------- | --------------- | -------------------------- | +| Seconds | Yes | 0-59 | * / , - | +| Minutes | Yes | 0-59 | * / , - | +| Hours | Yes | 0-23 | * / , - | +| Day of month | Yes | 1-31 | * / , - ? | +| Month | Yes | 1-12 or JAN-DEC | * / , - | +| Day of week | Yes | 0-6 or SUN-SAT | * / , - ? | + +> Note: `Month` and `Day-of-week` field values are case-insensitive. `SUN`, `Sun`, and `sun` are equally accepted. + +### Special characters +Asterisk ( * ) + +The asterisk indicates that the cron expression will match for all values of the field. For example, using an asterisk in the 5th field (month) would indicate every month. + +Slash ( / ) + +Slashes are used to describe increments of ranges. For example `3-59/15` in the 1st field (minutes) would indicate the 3rd minute of the hour and every 15 minutes thereafter. The form `*\/...` is equivalent to the form `first-last/...`, that is, an increment over the largest possible range of the field. The form `N/...` is accepted as meaning `N-MAX/...`, that is, starting at `N`, use the increment until the end of that specific range. It does not wrap around. + +Comma ( , ) + +Commas are used to separate items of a list. For example, using `MON,WED,FRI` in the 5th field (day of week) would mean Mondays, Wednesdays and Fridays. + +Hyphen ( - ) + +Hyphens are used to define ranges. For example, `9-17` would indicate every hour between 9am and 5pm inclusive. + +Question mark ( ? ) + +Question mark may be used instead of `*` for leaving either day-of-month or day-of-week blank. + +### Predefined schedules + +You may use one of several pre-defined schedules in place of a cron expression. + +| Entry | Description | Equivalent To | +| ---------------------- | ------------------------------------------ | ------------- | +| @yearly (or @annually) | Run once a year, midnight, Jan. 1st | 0 0 0 1 1 * | +| @monthly | Run once a month, midnight, first of month | 0 0 0 1 * * | +| @weekly | Run once a week, midnight on Sunday | 0 0 0 * * 0 | +| @daily (or @midnight) | Run once a day, midnight | 0 0 0 * * * | +| @hourly | Run once an hour, beginning of hour | 0 0 * * * * | \ No newline at end of file diff --git a/docs/zh-cn/backup_cron.md b/docs/zh-cn/backup_cron.md index f026a2e9..580a06d0 100644 --- a/docs/zh-cn/backup_cron.md +++ b/docs/zh-cn/backup_cron.md @@ -1,8 +1,13 @@ 目录 ============= +- [简介](#简介) +- [定时备份配置方式](#定时备份配置方式) + - [Cron 表达式格式](#cron-表达式格式) + - [特殊字符](#特殊字符) + - [预定义时间表](#预定义时间表) # 简介 -目前,无论 S3 还是 NFS 备份,均支持定时备份,并支持使用 crontab 表达式来指定备份的时间策略。您只需直接在集群的 YAML 文件的 `spec` 下设置 `backupSchedule` 字段。例如: +目前,无论 S3 还是 NFS 备份,均支持定时备份,并支持使用 Cron 表达式来指定备份的时间策略。您只需直接在集群的 YAML 文件的 `spec` 下设置 `backupSchedule` 字段。例如: ```yaml ... @@ -14,19 +19,19 @@ spec: ``` # 定时备份配置方式 -## cron 表达式格式 +## Cron 表达式格式 -cron 表达式的格式为: `[秒] [分] [时] [日] [月] [星期]`,即由6个使用空格分隔的字段组成的时间组合。 + Cron 表达式的格式为: `[秒] [分] [时] [日] [月] [星期]`,即由 6 个使用空格分隔的字段组成的时间组合。 -字段名 | 必配 | 允许值 | 允许的特殊符号 ----------- | ---------- | -------------- | -------------------------- -秒 | 是 | 0-59 | * / , - -分 | 是 | 0-59 | * / , - -时 | 是 | 0-23 | * / , - -日 | 是 | 1-31 | * / , - ? -月 | 是 | 1-12 or JAN-DEC | * / , - -星期 | 是 | 0-6 or SUN-SAT | * / , - ? +| 字段名 | 必配 | 允许值 | 允许的特殊符号 | +| ------ | ---- | --------------- | -------------- | +| 秒 | 是 | 0-59 | * / , - | +| 分 | 是 | 0-59 | * / , - | +| 时 | 是 | 0-23 | * / , - | +| 日 | 是 | 1-31 | * / , - ? | +| 月 | 是 | 1-12 或 JAN-DEC | * / , - | +| 星期 | 是 | 0-6 或 SUN-SAT | * / , - ? | > 注意:`月` 和 `星期` 字段值大小写不敏感,即 `SUN`, `Sun`, 和 `sun` 均接受。 @@ -51,14 +56,14 @@ cron 表达式的格式为: `[秒] [分] [时] [日] [月] [星期]`,即由6 不指定值,仅日期和星期域支持该字符。当日期或星期域其中之一被指定了值以后,为了避免冲突,需要将另一个域的值设为`?`。 -@ 符号 +### 预定义时间表 -你可以用如下的预定义时间来代替 cron 表达式。 +你可以用如下的预定义时间来代替 Cron 表达式。 -值 | 描述 | 等同于 ------ | ----------- | ------------- -@yearly(或 @annually) | 每年执行一次,在 1 月 1 日夜晚 12 点执行 | 0 0 0 1 1 * -@monthly | 每月执行一次,在每月第 1 天 夜晚 12 点执行 | 0 0 0 1 * * -@weekly | 每周执行一次,在周六和周日之间的夜晚 12 点执行 | 0 0 0 * * 0 -@daily(或 @midnight) | 每日执行一次,在夜晚 12 点执行 | 0 0 0 * * * -@hourly | 每小时执行一次,在第 1 分钟执行 | 0 0 * * * * +| 值 | 描述 | 等同于 | +| ----------------------- | ---------------------------------------------- | ----------- | +| @yearly(或 @annually) | 每年执行一次,在 1 月 1 日夜晚 12 点执行 | 0 0 0 1 1 * | +| @monthly | 每月执行一次,在每月第 1 天 夜晚 12 点执行 | 0 0 0 1 * * | +| @weekly | 每周执行一次,在周六和周日之间的夜晚 12 点执行 | 0 0 0 * * 0 | +| @daily(或 @midnight) | 每日执行一次,在夜晚 12 点执行 | 0 0 0 * * * | +| @hourly | 每小时执行一次,在第 1 分钟执行 | 0 0 * * * * |