运行模式

定时拉取

使用 Linux crontab 或 Windows 计划任务定期执行 update-certificate,实现无入站端口的证书自动更新。

最后检查: 2026-08-09语言: 简体中文

定时拉取是 clmbot 的默认推荐模式:clmbot 由系统计划任务定期唤起,主动向上游检查是否有新证书;有则抓取、替换并重载服务。整个过程不需要开放任何入站端口。

工作流程:

  1. 上游通过 CaaS 自动重签或由自有服务在证书到期前完成重签;
  2. 计划任务按周期执行 update-certificate
  3. clmbot 发现新证书后自动抓取到服务器并替换旧证书(旧证书备份为 .bak);
  4. 执行 after_script 重载服务,使新证书生效。

开始前请确认已完成配置并手动执行过一次成功的 update-certificate(见自动更新与服务重载)。

Linux / macOS:crontab

以“每天凌晨三点执行证书更新检测”为例,编辑 clmbot 运行账号的 crontab:

crontab -e

添加一行(目录与二进制名以你的实际部署为准):

0 3 * * * cd /opt/clm-bot-demo && ./clm-bot-linux-amd64 update-certificate >> update.log

要点:

  • 使用专用 clmbot 账号的 crontab,而不是 root 的,见最小权限
  • cd 到 clmbot 运行目录,保证 config.yaml 与日志路径正确;
  • 输出追加到 update.log,便于定期检查更新是否正常。

Windows:任务计划程序

在任务计划程序(Task Scheduler)中配置定时任务执行 update-certificate 命令:

  1. 打开“任务计划程序”,创建基本任务;
  2. 触发器选择每天,设定执行时间(如凌晨三点);
  3. 操作选择“启动程序”,程序为 clmbot 可执行文件的完整路径,参数为 update-certificate,起始于(工作目录)设为 clmbot 所在目录;
  4. 运行账号使用专用服务账号,勾选“不管用户是否登录都要运行”;
  5. 保存后右键“运行”验证一次,检查运行目录下的日志确认执行成功。

Windows 计划任务中的程序路径必须指向解压后的实际可执行文件,不能直接照抄示例名称。

更新周期建议

  • 更新延迟取决于计划任务周期:每天一次是常见选择;
  • 以 CaaS 为上游时,后台默认在证书到期前 15 天(可自定义)自动重签,每日检测一次留有充足缓冲;
  • 执行后请定期检查 update.log,确认更新、备份和服务重载是否正常。

相关页面