Title here
Summary here
/etc/letsencrypt/renewal-hooks/deploy/
└── dispatcher.sh
/usr/local/lib/certbot/
├── deploy/
│ ├── 10-axigen.sh
│ ├── 20-hysteria.sh
│ └── 65535-notify.sh
│
├── lib/
│ ├── common.sh
│ └── logger.sh[执行关系]
dispatcher.sh
↓ 调用
65535-notify.sh
[依赖关系]
65535-notify.sh
↓ source
common.sh
↓ source
logger.sh正确的“关系方向
65535-notify.sh → 依赖 → common.sh → 依赖 → logger.sh
Note
source 是“代码注入”,不是"调用"
这是一种: “运行时依赖 + 代码注入”结构
dispatcher → notify(运行时依赖)
./65535-notify.sh含义:
dispatcher 在运行时“调用” notify
特点:
notify → common(代码依赖)
source common.sh含义:
notify 需要 common 提供函数
特点:
common → logger(底层依赖)
source logger.sh含义:
common 依赖 logger 提供日志能力
[入口层]
dispatcher.sh
↓
[执行层]
10-axigen.sh
20-hysteria.sh
↓
[能力层]
common.sh
↓
logger.sh
↓
[收尾层]
65535-notify.sh | |
*.sh 文件中授予执行权限
| |
使用 –dry-run(官方标准)
| |
或
| |
作用 模拟证书更新流程(不会真正申请新证书)
会执行:
你的 deploy hook(dispatcher + 所有脚本)
你可以验证:
查看日志
| |
Caution
--dry-run 有一个关键点:
不会真正替换证书文件
你可以直接模拟 Certbot 传参:
手动调用 dispatcher
| |
优点
方法 1:强制续期
| |
作用
Caution
可能触发频率限制(rate limit)
影响线上服务(reload / restart)
建议只在:
检查日志
| |
检查 Axigen
| |