计划任务:按 action 选择功能
这个请求地址通过 action 区分具体功能。下方列出每个 action 的参数、约束和调用示例。
https://your-panel.example.com:8888/crontabRequest bodyX-WWW-FORM-URLENCODEDrequired
One of the following:
- AddCrontab
- DelCrontab
- DelLogs
- GetCrontab
- GetDataList
- GetDatabases
- GetLogs
- add_crontab_type
- cancel_top
- check_url_connecte
- clear_logs
- download_logs
- export_crontab_to_json
- get_auto_config
- get_crond_find
- get_crontab_service
- get_crontab_types
- get_databases
- get_domain
- get_log_path
- get_restart_project_config
- get_rotate_log_config
- get_system_user_list
- get_zone
- modify_crond
- repair_crontab_service
- set_atuo_start_syssafe
- set_auto_config
- set_cron_status
- set_cron_status_all
- set_crontab_type
- set_execute_script
- set_restart_project
- set_rotate_log
- set_rotate_log_status
- set_task_top
Returns
default
响应因 action 而异,见下方各 action 的详细说明。
各操作详细说明
AddCrontabaction=AddCrontab创建计划任务(Shell 脚本、URL 请求、数据库备份等)
创建新的计划任务。
- 路由:
POST /crontab - action:
AddCrontab
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 AddCrontab |
| name | 是 | String | 任务名称 |
| type | 是 | String | 周期类型 |
| where1 | 是 | String | 周期值(天数/分钟数等,取决于 type) |
| sType | 是 | String | 任务类型,见下表 |
| sBody | 是 | String | 执行内容 |
| sName | 否 | String | 备注 |
| save | 否 | Integer | 备份保留份数 |
| backupTo | 否 | String | 备份目标 |
sType 任务类型
| 值 | 说明 |
|---|---|
toShell |
Shell 脚本 |
toUrl |
访问 URL |
toPython |
Python 脚本 |
database |
备份数据库 |
site |
备份网站 |
logs |
日志切割 |
rememory |
释放内存 |
type 周期类型
| 值 | 说明 | where1 含义 |
|---|---|---|
minute-n |
每 N 分钟 | 分钟间隔 |
hour |
每小时 | — |
day |
每天 | — |
day-n |
每 N 天 | 天间隔 |
week |
每周 | — |
month |
每月 | — |
示例
POST /crontab HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=AddCrontab&name=测试任务&type=minute-n&where1=10&sType=toShell&sBody=echo test&sName=备注&save=0&backupTo=localhost
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | 请求结果,true 表示成功 |
| msg | String | 提示信息 |
{"status": true, "msg": "添加成功", "id": 6}
DelCrontabaction=DelCrontab删除计划任务
删除指定的计划任务。
- 路由:
POST /crontab - action:
DelCrontab
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 DelCrontab |
| id | 是 | Integer | 任务 ID |
示例
POST /crontab HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=DelCrontab&id=6
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | 请求结果,true 表示成功 |
| msg | String | 提示信息 |
{"status": true, "msg": "删除成功"}
DelLogsaction=DelLogs清空指定计划任务的执行日志
清空指定计划任务的全部执行日志。
- 路由:
POST /crontab - action:
DelLogs
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 DelLogs |
| id | 是 | Integer | 任务 ID |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 清空成功 |
示例
{"status": true, "msg": "任务日志已清空!"}
GetCrontabaction=GetCrontab获取所有计划任务列表
获取面板中所有计划任务的完整列表,包含任务配置、状态、执行周期等信息。
- 路由:
POST /crontab - action:
GetCrontab
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 GetCrontab |
输出参数
返回数组,每项:
| 参数名称 | 类型 | 描述 |
|---|---|---|
| id | Integer | 任务 ID |
| name | String | 任务名称 |
| type | String | 周期类型:day、minute-n、hour、week、month |
| where1 | String | 周期值(天数/分钟数) |
| where_hour | Integer | 执行小时 |
| where_minute | Integer | 执行分钟 |
| status | Integer | 1 = 启用,0 = 暂停 |
| sType | String | 任务类型:toShell、toUrl、site、database、logs |
| sBody | String | 执行内容 |
| echo | String | 唯一标识符 |
| save | Integer | 备份保留份数 |
示例
POST /crontab HTTP/1.1
Content-Type: application/x-www-form-urlencoded
request_time=1700000000&request_token=xxx&action=GetCrontab
[{
"id": 1,
"name": "续签Let's Encrypt证书",
"type": "day",
"where_hour": 10,
"where_minute": 15,
"status": 1,
"sType": "toShell"
}]
GetDataListaction=GetDataList按类型获取数据列表(网站/数据库等,用于计划任务配置)
根据类型获取网站或数据库列表,用于计划任务中选择操作对象。
- 路由:
POST /crontab - action:
GetDataList
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 GetDataList |
| type | 是 | String | "sites" 网站 / "databases" 数据库 |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| data | Array | 数据列表 |
| orderOpt | Array | 排序选项 |
示例
{"data": [{"name": "testapi.bt.local", "ps": "API测试备注"}], "orderOpt": []}
GetDatabasesaction=GetDatabases获取可用于备份任务的数据库列表
获取面板中所有数据库及其表结构信息,用于配置数据库备份任务。
- 路由:
POST /crontab - action:
GetDatabases
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Array<Object> | 数据库列表,每项含 name、ps、table_list |
示例
[{"name": "bt_api_test_new", "ps": "API临时测试库", "table_list": [{"tb_name": "所有", "value": ""}]}]
GetLogsaction=GetLogs获取计划任务的执行日志
获取指定计划任务的执行日志内容。
- 路由:
POST /crontab - action:
GetLogs
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 GetLogs |
| id | 是 | Integer | 任务 ID |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 成功 |
| msg | String | 日志内容,无日志时返回 当前日志为空! |
示例
{"status": true, "msg": ""}
add_crontab_typeaction=add_crontab_type创建计划任务分类(用于分组管理)
创建自定义的计划任务分类标签。
- 路由:
POST /crontab - action:
add_crontab_type
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 add_crontab_type |
| name | 是 | String | 分类名称 |
示例
{"status": true, "msg": "添加成功"}
相关接口
- get_crontab_types — 查看分类列表
- set_crontab_type — 设置任务分类
cancel_topaction=cancel_top取消计划任务的置顶状态
取消指定计划任务的置顶。
- 路由:
POST /crontab - action:
cancel_top
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 cancel_top |
| id | 是 | Integer | 任务 ID |
示例
{"status": true, "msg": "取消置顶成功!"}
check_url_connecteaction=check_url_connecte检测 URL 是否可连通(用于 URL 监控任务)
检测指定 URL 的可连通性,返回 HTTP 状态码和页面内容。
- 路由:
POST /crontab - action:
check_url_connecte
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 check_url_connecte |
| url | 是 | String | 要检测的 URL |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 检测成功 |
| status_code | Integer | HTTP 状态码 |
| txt | String | 页面内容(HTML) |
示例
{"status": true, "status_code": 200, "txt": "<!DOCTYPE html>..."}
clear_logsaction=clear_logs清除计划任务的日志文件
清除指定计划任务的日志记录。
- 路由:
POST /crontab - action:
clear_logs
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 clear_logs |
| id | 是 | Integer | 任务 ID |
示例
{"status": true, "msg": "清除成功!"}
download_logsaction=download_logs导出计划任务的执行日志到文件
将指定计划任务的执行日志导出到 /tmp/ 目录下的文件中。
- 路由:
POST /crontab - action:
download_logs
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 download_logs |
| id | 是 | Integer | 任务 ID |
| filename | 否 | String | 自定义导出文件名 |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 导出成功 |
| msg | String | 导出文件路径 |
示例
{"status": true, "msg": "/tmp/016725dfa2dd9267d8d2ffe68522ed6b.log"}
export_crontab_to_jsonaction=export_crontab_to_json导出计划任务数据为 JSON 文件
将指定计划任务的数据导出为 JSON 文件到 /tmp/ 目录。
- 路由:
POST /crontab - action:
export_crontab_to_json
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 export_crontab_to_json |
| id | 是 | Integer | 任务 ID |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 导出成功 |
| msg | String | 导出文件路径 |
示例
{"status": true, "msg": "/tmp/计划任务数据.json"}
get_auto_configaction=get_auto_config获取自动备份任务的配置
获取指定类型的自动备份计划任务配置。
- 路由:
POST /crontab - action:
get_auto_config
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_auto_config |
| name | 是 | String | 备份类型:"site" 网站 / "mysql" 数据库 |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true |
| msg | Object | 备份任务详情(id、name、type、status 等) |
示例
{"status": true, "msg": {"id": 4, "name": "自动备份网站[所有]", "type": "day", "status": 1}}
get_crond_findaction=get_crond_find获取单个计划任务的详细配置
获取指定 ID 的计划任务的完整配置信息。
- 路由:
POST /crontab - action:
get_crond_find
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_crond_find |
| id | 是 | Integer | 计划任务 ID |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| id | Integer | 任务 ID |
| name | String | 任务名称 |
| type | String | 执行周期类型 |
| status | Integer | 1 启用 / 0 禁用 |
| sBody | String | 执行命令/脚本 |
示例
请求
POST /crontab HTTP/1.1
action=get_crond_find&id=1
响应
{"id": 1, "name": "续签Let's Encrypt证书", "type": "day", "status": 1, "where_hour": 10, "where_minute": 15}
get_crontab_serviceaction=get_crontab_service获取计划任务服务(crond)的运行状态
检查系统 crond 服务的运行状态。
- 路由:
POST /crontab - action:
get_crontab_service
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 查询成功 |
| data | Object | {"status": 1} 运行中 / {"status": 0} 已停止 |
示例
{"status": true, "msg": "", "data": {"status": 0}}
get_crontab_typesaction=get_crontab_types获取计划任务的分类列表
获取用户自定义的计划任务分类列表。
- 路由:
POST /crontab - action:
get_crontab_types
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_crontab_types |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 成功 |
| msg | Array | 分类列表 |
示例
{"status": true, "msg": []}
get_databasesaction=get_databases获取数据库名称列表(简化版)
获取数据库名称的简化列表,用于计划任务配置。
- 路由:
POST /crontab - action:
get_databases
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true |
| data | Array<Object> | 数据库列表 |
示例
{"status": true, "data": [{"name": "bt_api_test_new", "value": "bt_api_test_new"}]}
get_domainaction=get_domain获取所有网站的域名列表(用于计划任务选择)
获取面板中所有网站的域名列表,用于计划任务中关联网站。
- 路由:
POST /crontab - action:
get_domain
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_domain |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Array<String> | 域名列表 |
示例
["http://testapi.bt.local", "http://api-test.example.com"]
get_log_pathaction=get_log_path获取计划任务的日志存储路径
获取指定计划任务的日志文件路径和大小。
- 路由:
POST /crontab - action:
get_log_path
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_log_path |
| id | 是 | Integer | 任务 ID |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true |
| msg.log_path | String | 日志文件路径,无日志时为 无 |
| msg.size | String | 日志文件大小 |
示例
{"status": true, "msg": {"log_path": "无", "size": "0B"}}
get_restart_project_configaction=get_restart_project_config获取项目定时重启任务的配置
获取指定项目的定时重启任务配置。
- 路由:
POST /crontab - action:
get_restart_project_config
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_restart_project_config |
| project_name | 是 | String | 项目名称 |
| model_name | 是 | String | 模型名称(与 project_name 同时传) |
示例
{"status": true, "msg": {"name": "[勿删]定时重启test项目test", "type": "day", "status": 1}}
get_rotate_log_configaction=get_rotate_log_config获取日志切割任务的配置
获取面板日志自动切割任务的配置信息。
- 路由:
POST /crontab - action:
get_rotate_log_config
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true |
| msg | Object | 配置详情:stype(周期类型)、log_size(日志大小)、num(保留份数)、compress(压缩)、status(开关) |
示例
{"status": true, "msg": {"stype": "day", "log_size": 0, "num": 10, "compress": false, "status": 1, "hour": 2}}
get_system_user_listaction=get_system_user_list获取系统用户列表(用于以指定用户身份执行任务)
获取系统用户列表,用于配置计划任务以指定用户身份运行。
- 路由:
POST /crontab - action:
get_system_user_list
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Array<String> | 系统用户名列表 |
示例
["root", "www", "nobody", "mysql"]
get_zoneaction=get_zone获取系统支持的时区列表
获取系统支持的所有时区,按大洲分组。
- 路由:
POST /crontab - action:
get_zone
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_zone |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Object | 以洲名为 key,时区城市列表为 value |
示例
{"Africa": ["Abidjan", "Accra", ...], "Asia": ["Shanghai", "Tokyo", ...], ...}
modify_crondaction=modify_crond修改计划任务配置
修改已有计划任务的配置。
- 路由:
POST /crontab - action:
modify_crond
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 modify_crond |
| id | 是 | Integer | 任务 ID |
| name | 是 | String | 新任务名称 |
| type | 是 | String | 周期类型 |
| where1 | 是 | String | 周期值 |
| sType | 是 | String | 任务类型 |
| sBody | 是 | String | 执行内容 |
| sName | 否 | String | 备注 |
示例
POST /crontab HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=modify_crond&id=6&name=修改后任务&type=minute-n&where1=30&sType=toShell&sBody=echo updated&sName=
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | 请求结果,true 表示成功 |
| msg | String | 提示信息 |
{"status": true, "msg": "修改成功"}
repair_crontab_serviceaction=repair_crontab_service修复计划任务服务(crond)
尝试修复 crond 计划任务服务。
- 路由:
POST /crontab - action:
repair_crontab_service
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Boolean | true 修复成功 / false 无需修复 |
示例
false
set_atuo_start_syssafeaction=set_atuo_start_syssafe设置系统加固的临时关闭时间
临时关闭系统加固功能指定分钟数,超时后自动恢复。
- 路由:
POST /crontab - action:
set_atuo_start_syssafe
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_atuo_start_syssafe |
| time | 是 | String | 临时关闭时长(分钟) |
示例
{"status": true, "msg": "临时关闭系统加固成功!"}
set_auto_configaction=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 自动备份
{"status": true, "msg": "设置成功!"}
set_cron_statusaction=set_cron_status启用或暂停计划任务
启用或暂停指定的计划任务。
- 路由:
POST /crontab - action:
set_cron_status
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_cron_status |
| id | 是 | Integer | 任务 ID |
| status | 是 | String | 1 = 启用,0 = 暂停 |
示例
POST /crontab HTTP/1.1
Content-Type: application/x-www-form-urlencoded
action=set_cron_status&id=6&status=0
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | 请求结果,true 表示成功 |
| msg | String | 提示信息 |
{"status": true, "msg": "设置成功"}
set_cron_status_allaction=set_cron_status_all批量设置计划任务的启停状态
批量操作计划任务:启动、停止、删除或立即执行。
- 路由:
POST /crontab - action:
set_cron_status_all
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_cron_status_all |
| type | 是 | String | 操作类型:start / stop / del / exec |
| id_list | 是 | String | JSON 数组,任务 ID 列表 [1,2,3] |
示例
[{"续签Let's Encrypt证书": "停止设置失败", "status": false}]
set_crontab_typeaction=set_crontab_type将计划任务归入指定分类
将选中的计划任务归入指定的分类中。
前置条件:需先通过 add_crontab_type 创建分类。
- 路由:
POST /crontab - action:
set_crontab_type
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_crontab_type |
| id | 是 | Integer | 分类 ID |
| crontab_ids | 是 | String | JSON 数组,任务 ID 列表 [1,2,3] |
示例
{"status": true, "msg": "设置成功"}
相关接口
- add_crontab_type — 创建分类
- get_crontab_types — 查看分类列表
set_execute_scriptaction=set_execute_script立即执行指定的计划任务脚本
立即执行指定计划任务的脚本。
- 路由:
POST /crontab - action:
set_execute_script
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_execute_script |
| id | 是 | Integer | 任务 ID |
示例
false
set_restart_projectaction=set_restart_project设置项目的定时重启任务
为指定项目设置定时重启任务。
- 路由:
POST /crontab - action:
set_restart_project
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_restart_project |
| project_name | 是 | String | 项目名称 |
| model_name | 是 | String | 模型名称 |
| status | 是 | String | "1" 开启 / "0" 关闭 |
示例
{"status": true, "msg": "设置成功"}
set_rotate_logaction=set_rotate_log修改日志切割任务的配置
修改日志自动切割任务的配置参数。
前置条件:需先通过 set_rotate_log_status 开启日志切割服务。
- 路由:
POST /crontab - action:
set_rotate_log
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_rotate_log |
| num | 否 | Integer | 保留日志份数,默认 10 |
| hour | 否 | String | 执行时间(时),默认 2 |
| minute | 否 | String | 执行时间(分),默认 0 |
| stype | 否 | String | 周期类型,默认 day |
| log_size | 否 | Float | 日志大小触发值(MB),0 不使用大小触发 |
| compress | 否 | String | "1" 压缩 / "0" 不压缩 |
示例
{"status": true, "msg": "修改成功"}
相关接口
- set_rotate_log_status — 开关日志切割
- get_rotate_log_config — 查看配置
set_rotate_log_statusaction=set_rotate_log_status设置日志切割任务的开关状态
开启或关闭日志自动切割任务。
- 路由:
POST /crontab - action:
set_rotate_log_status
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_rotate_log_status |
| status | 是 | String | "1" 开启 / "0" 关闭 |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 设置成功 |
示例
{"status": true, "msg": "设置成功"}
set_task_topaction=set_task_top置顶计划任务
将指定计划任务置顶显示。
- 路由:
POST /crontab - action:
set_task_top
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_task_top |
| id | 是 | Integer | 任务 ID |
示例
{"list": []}