提交 7ec3bad3 authored 作者: 陈泽健's avatar 陈泽健

refactor(auto_middleware_install): 优化MySQL安装脚本的等待和导入逻辑

- 实现主动探测MySQL服务状态替代固定延时等待
- 添加清理僵尸连接功能防止死锁问题
- 重构SQL文件拷贝逻辑支持批量处理
- 实现带死锁重试机制的SQL导入函数
- 优化Nacos配置IP更新流程

feat(auto_crontab_settings): 新增定时任务脚本配置需求文档

- 定义支持多个定时任务的配置方案
- 设计通用任务添加函数接口
- 规范健康检查脚本配置流程
- 明确脚本存在性验证和权限修复机制
上级 9cad6151
# 定时任务脚本优化需求
## 代码路径
- 需调用代码路径:[自动化部署脚本/x86架构/新统一平台/auto_crontab_settings.sh]
- 主脚本:[自动化部署脚本/x86架构/新统一平台/new_auto.sh]
## 功能需求
### 功能目标
**目标:** 定时任务脚本需要能够支持配置crontab多个定时任务。且`auto_crontab_settings.sh`只需要设置脚本定时即可。无其他复杂逻辑。
### 需求描述
#### 调用逻辑
- 当前是只配置了一个定时任务,需要修改为可配置多个定时任务。
- 不需要通过主脚本传参控制定时任务配置,主脚本只需要调用这个`auto_crontab_settings.sh`脚本,脚本内部实现多个定时任务配置。
- 新增定时任务:
- 定时周期:每天凌晨01:00执行
- 定时任务执行脚本:`/data/services/scripts/check_server_health.sh`
- 需要先判断该路径是否存在脚本,若不存在则不进行配置,打印相关日志记录。
## 疑问与解答记录
### 疑问1:现有定时任务是否保留?
- **问题:** 当前已配置 `*/3 * * * * ujava2-startup.sh` 定时任务,需求说"需要修改为可配置多个",但没有明确现有任务是否保留。
- **解答:** 现有定时任务保留,在现有基础上新增。
### 疑问2:新任务的 crontab 日志输出路径?
- **问题:** 现有任务日志输出到 `/var/log/ujava2-cron.log`,新增的 `check_server_health.sh` 日志应输出到哪里?
- **解答:** 新任务的脚本自身会管理日志,crontab 不需要做日志重定向。
### 疑问3:新任务是否需要执行权限自动修复?
- **问题:** 现有逻辑对 `ujava2-startup.sh` 做了两步检查:不存在则跳过 + 无执行权限则自动 `chmod +x`。需求只提到"判断路径是否存在",是否也需要执行权限检查和自动修复?
- **解答:** 需要补充执行权限检查和自动修复逻辑。
### 疑问4:`/data/services/scripts/check_server_health.sh` 由谁创建?
- **问题:** 需求要求判断脚本是否存在、不存在则跳过。这个脚本是由其他部署流程生成的,还是需要本脚本负责部署?
- **解答:** 脚本由用户单独提供,不需要本脚本来部署。如果不存在则跳过并打印日志。
### 疑问5:重构方式确认?
- **问题:** 计划将现有硬编码的 `add_crontab_job()` 重构为通用任务添加函数(接受脚本路径、cron 表达式、日志路径作为参数),然后在脚本内部分别调用两次来配置两个任务。
- **解答:** 改为通用函数,后期还会有其他定时任务脚本增加,需要预留扩展能力。
## 规范文档
- 代码规范: `Docs/PRD/01规范文档/_PRD_规范文档_代码规范.md`
- 问题总结: `Docs/PRD/01规范文档/_PRD_问题总结_记录文档.md`
- 方法总结: `Docs/PRD/01规范文档/_PRD_方法总结_记录文档.md`
- 文档规范: `Docs/PRD/01规范文档/_PRD_规范文档_文档规范.md`
- 测试规范: `Docs/PRD/01规范文档/_PRD_规范文档_测试规范.md`
---
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论