Path: API › 计划任务

`POST /crontab`

为网站或数据库设置自动备份计划任务。任务不存在时自动创建，已存在时更新状态。

## Request body

_Required._

- `action35.request_time` (string, required) — Unix 时间戳。
- `action35.request_token` (string, required) — 按 API 概览生成的签名。
- `action35.action` (string, required) — 具体操作名称。
  - one of `"set_auto_config"`
- `action35.name` (string, required) — `"mysql"` 数据库备份 / `"site"` 网站备份
- `action35.status` (string, required) — `"1"` 开启 / `"0"` 关闭
- `action35.hour` (string, optional) — 执行时间（时）
- `action35.minute` (string, optional) — 执行时间（分）
- `action35.save` (string, optional) — 保留份数
- `action35.backupTo` (string, optional) — 备份目标

## Example request

```text
{
  "request_time": "string",
  "request_token": "string",
  "action": "set_auto_config",
  "name": "string",
  "status": "string",
  "hour": "string",
  "minute": "string",
  "save": "string",
  "backupTo": "string"
}
```

## Code samples

### cURL（填写面板地址与签名）

```curl
curl --request POST \
  --url "https://your-panel.example.com:8888/crontab" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "request_time=<Unix时间戳>" \
  --data-urlencode "request_token=<按 API 概览生成的签名>" \
  --data-urlencode "action=set_auto_config" \
  --data-urlencode "name=<name>" \
  --data-urlencode "status=<status>"
```

## Responses

### default

接口响应，业务状态见下方详细说明。

#### Example

```json
{
  "status": true,
  "msg": "设置成功！"
}
```


## set_auto_config

为网站或数据库设置自动备份计划任务。任务不存在时自动创建，已存在时更新状态。

- **路由**：`POST /crontab`
- **action**：`set_auto_config`

## 输入参数

| 参数名称 | 必选 | 类型 | 描述 |
|----------|------|------|------|
| action | 是 | String | 固定值 `set_auto_config` |
| name | 是 | String | `"mysql"` 数据库备份 / `"site"` 网站备份 |
| status | 是 | String | `"1"` 开启 / `"0"` 关闭 |
| hour | 否 | String | 执行时间（时） |
| minute | 否 | String | 执行时间（分） |
| save | 否 | String | 保留份数 |
| backupTo | 否 | String | 备份目标 |

> 注意：`name=site` 时如果任务已存在，`set_status` 方法有 bug（硬编码查 mysql 任务），可能导致设置失败。

## 示例

### 设置 MySQL 自动备份

```json
{"status": true, "msg": "设置成功！"}
```

