Skip to content

doctor —— 环境诊断 ​

诊断当前 CertiMan 安装环境,覆盖凭证、网络、版本、数据、升级与定时任务六类检查。任一检查项为 FAIL 时以非零退出码结束,CI 与运维脚本可据此判断环境是否可用。

用法 ​

bash
certiman doctor

参数 ​

本命令没有自有参数。

诊断项目 ​

下表「检查项(中文)」列为中文界面下终端表格显示的名称,「内部键(英文)」列为 -o json 输出中的 name 字段,供脚本判断:

类别检查项(中文)内部键(英文)说明
凭证凭证文件credential_file检查凭证文件是否存在、是否可读
凭证凭证权限credential_permissionLinux/macOS 检查权限是否为 0600;Windows 检查 DACL 是否已断开继承,未断开时为 WARN 并给出 icacls 修复命令
凭证凭证服务端校验credential_online由服务端校验凭证是否有效:凭证失效时为 FAIL;无凭证或认证服务暂时不可达时为 SKIP
凭证数据目录可写data_home_writable检查数据目录是否可写
网络OpenAPI 端点openapi_endpointTCP + TLS 握手(10 秒超时)
网络认证服务端点auth_endpoint认证服务端点 TCP + TLS 握手
网络系统时钟clock_skew本地时钟与服务端偏差是否在 ±5 分钟内
版本当前版本build_version当前版本与构建时间(不联网查询新版本)
数据证书目录certificates逐目录检查 cert.yaml / state.json / 证书文件完整性。以下两类问题为 FAIL(阻断):fullchain.pem 缺中间证书链、交付材料缺件(国密双证包括加密私钥尚未下载)。修复方式分别为运行 certiman download -d <主域名> -f 重新下载完整证书链、运行 certiman download -d <主域名> 重新下载交付材料
数据账号模板profiles检查所有 profile 是否可以正常解析
升级全局配置 schemaglobal_config_schemaschema 版本比对(当前 v1)
升级证书配置 schemacertificate_config_schemaschema 版本比对(当前 v2)
定时任务定时任务注册cron_registration检查系统调度器中是否已注册;未注册时同样为 PASS
定时任务上次运行结果cron_last_run仅在已注册时显示;汇总最近一次执行结果,存在失败时为 WARN

每项结果为四态:PASS / WARN / FAIL / SKIP(前置条件不满足)。存在 FAIL 项时以非零退出码结束。

示例 ​

bash
# 检查全部
certiman doctor

# JSON 输出,供监控采集
certiman doctor -o json

输出 ​

0全部通过(示例)
text
类别      检查项           结果  说明
凭证      凭证文件         PASS  ~/.certiman/cc/credentials
凭证      凭证权限         PASS  -rw-------
凭证      凭证服务端校验   PASS  服务端确认凭证有效,当前用户 user
凭证      数据目录可写     PASS  ~/.certiman
网络      OpenAPI 端点     PASS  api.certcloud.cn:443 握手成功
网络      认证服务端点     PASS  certcloud.cn:443 握手成功
网络      系统时钟         PASS  与服务端时间相差 5 秒
版本      当前版本         PASS  1.x.y(构建于 2026-08-07T10:19:56Z)
数据      证书目录         PASS  6 张证书的配置与状态均正常
数据      账号模板         PASS  3 个账号模板均可正常解析
升级      全局配置 schema  PASS  schema 版本 1
升级      证书配置 schema  PASS  schema 版本 2
定时任务  定时任务注册     PASS  本机未注册自动续期定时任务
✔ 全部 13 项检查通过
1存在 FAIL 项(示例,空环境未登录)
text
类别      检查项           结果  说明
凭证      凭证文件         FAIL  未找到凭证文件 ~/.certiman/cc/credentials
凭证      凭证权限         SKIP  凭证不可用,跳过
凭证      凭证服务端校验   SKIP  凭证不可用,跳过
凭证      数据目录可写     PASS  ~/.certiman
网络      OpenAPI 端点     PASS  api.certcloud.cn:443 握手成功
网络      认证服务端点     PASS  certcloud.cn:443 握手成功
网络      系统时钟         PASS  与服务端时间相差 5 秒
版本      当前版本         PASS  1.x.y(构建于 2026-08-07T10:19:56Z)
数据      证书目录         PASS  0 张证书的配置与状态均正常
数据      账号模板         PASS  0 个账号模板均可正常解析
升级      全局配置 schema  PASS  schema 版本 1
升级      证书配置 schema  PASS  schema 版本 2
定时任务  定时任务注册     PASS  本机未注册自动续期定时任务
⚠ FAIL 凭证文件: 未找到凭证文件 ~/.certiman/cc/credentials
  运行 `certiman login` 登录
错误: 诊断发现 1 项阻断性问题,请按上述建议处理

相关命令 ​

  • upgrade —— 自升级到最新版本
  • version —— 只查看版本信息