3x-ui/docs/Tasktracking/2026-04-23-install-cron-before-acme.md

36 lines
1.2 KiB
Markdown
Raw Normal View History

Task Record: Install cron before acme.sh for all distros
Date: 2026-04-23
Related Module: install.sh — cron 安装
Change Type: Fix
Background
acme.sh 依赖 cron 来执行证书自动续期但在部分发行版RHEL/Fedora/CentOS/Arch/openSUSE/Alpinecron 服务可能未预装。acme.sh 安装时如果找不到 cron会静默失败或报错导致证书续期不生效。
Changes
- `install.sh`:
-`install_base()` 中新增 cron 包安装逻辑
- RHEL/Fedora/CentOS/Arch/openSUSE: 安装 `cronie`
- Alpine: 安装 `dcron`
- 安装后确保 crond 服务启用并启动(`enable --now`
- 将 cron 安装移到 acme.sh 安装之前,确保依赖顺序正确
Impact
- `install.sh`: `install_base()` 函数
- 不影响已有安装流程,仅在 cron 未安装时补充安装
- 不影响数据库、API、前端
Verification
- `bash -n install.sh` — syntax OK
- 在 Ubuntu/Debian 上验证cron 通常已预装,无副作用)
- 需要在 RHEL/Alpine 等发行版上验证 cron 安装逻辑
Risks And Follow-Up
- 无风险。仅增加缺失包的安装,不影响已有逻辑
- 如果用户手动禁用了 cron证书续期仍会失败非本次修复范围