Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
e0f57343
提交
e0f57343
authored
3月 30, 2026
作者:
陈泽健
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/develop' into develop
上级
4da3569f
4a71bdd8
展开全部
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
281 行增加
和
11 行删除
+281
-11
settings.local.json
.claude/settings.local.json
+2
-1
_PRD_预定系统_一键更新定时任务脚本需求文档.md
Docs/PRD/自动化部署脚本/_PRD_预定系统_一键更新定时任务脚本需求文档.md
+0
-0
_PRD_预定系统一键更新定时任务脚本需求文档_计划执行.md
Docs/PRD/自动化部署脚本/_PRD_预定系统一键更新定时任务脚本需求文档_计划执行.md
+0
-0
update_cron_jobs.sh
自动化部署脚本/x86架构/预定系统/一键更新/update_cron_jobs.sh
+0
-0
使用说明.md
自动化部署脚本/x86架构/预定系统/一键更新/使用说明.md
+269
-0
auto_clean_deleted_ubains_v3.sh
自动化部署脚本/x86架构/预定系统/定时脚本/auto_clean_deleted_ubains_v3.sh
+1
-1
backup_mysql_databases.sh
自动化部署脚本/x86架构/预定系统/定时脚本/backup_mysql_databases.sh
+1
-1
backup_mysql_logs.sh
自动化部署脚本/x86架构/预定系统/定时脚本/backup_mysql_logs.sh
+1
-1
backup_nginx_logs.sh
自动化部署脚本/x86架构/预定系统/定时脚本/backup_nginx_logs.sh
+1
-1
check_deleted_file_ubains.sh
自动化部署脚本/x86架构/预定系统/定时脚本/check_deleted_file_ubains.sh
+1
-1
monitor_emqx_service.sh
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_emqx_service.sh
+1
-1
monitor_external_api_services_v2.sh
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_external_api_services_v2.sh
+1
-1
monitor_inner_api_services.sh
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_inner_api_services.sh
+1
-1
monitor_mysql_service.sh
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_mysql_service.sh
+1
-1
monitor_redis_service.sh
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_redis_service.sh
+1
-1
没有找到文件。
.claude/settings.local.json
浏览文件 @
e0f57343
...
...
@@ -131,7 +131,8 @@
"Bash(sed -i '/^[[:space:]]*TARGET_KEY=/d' check_deleted_file_ubains.sh)"
,
"Bash(check_deleted_file_ubains_header.tmp:*)"
,
"Bash(mv check_deleted_file_ubains_header.tmp check_deleted_file_ubains.sh)"
,
"Bash(chmod +x check_deleted_file_ubains.sh)"
"Bash(chmod +x check_deleted_file_ubains.sh)"
,
"Bash(bash -n
\"
E:
\\\\
ubains-module-test
\\\\
ubains-module-test
\\\\
自动化部署脚本
\\\\
x86架构
\\\\
预定系统
\\\\
一键更新
\\\\
update_cron_jobs.sh
\"
)"
]
}
}
Docs/PRD/自动化部署脚本/_PRD_预定系统_一键更新定时任务脚本需求文档.md
0 → 100644
浏览文件 @
e0f57343
此差异已折叠。
点击以展开。
Docs/PRD/自动化部署脚本/_PRD_预定系统一键更新定时任务脚本需求文档_计划执行.md
0 → 100644
浏览文件 @
e0f57343
此差异已折叠。
点击以展开。
自动化部署脚本/x86架构/预定系统/一键更新/update_cron_jobs.sh
0 → 100644
浏览文件 @
e0f57343
此差异已折叠。
点击以展开。
自动化部署脚本/x86架构/预定系统/一键更新/使用说明.md
0 → 100644
浏览文件 @
e0f57343
# 定时任务脚本一键更新工具 - 使用说明
> 版本:V1.3
> 更新日期:2026-03-30
> 脚本文件:`update_cron_jobs.sh`
> **更新日志**:
> - **V1.3 (2026-03-30)**:
> - 修复crontab重复问题(改进grep过滤模式)
> - 添加废弃脚本清理功能(自动清理旧版本脚本文件)
> - 修复SCP命令缺少连接复用选项的问题
> - **V1.2 (2026-03-30)**:
> - 添加SSH连接复用(ControlMaster)减少密码输入次数
> - 所有SSH/SCP调用统一使用连接复用选项
> - **V1.1 (2026-03-30)**:
> - 修复版本提取逻辑(使用sed代替awk正确提取中文版本号)
> - 修复远程更新输出解析(正确捕获并处理更新结果)
> - 移除重复的远程更新代码块
> - 更新所有定时脚本版本号(+0.1)
---
## 快速开始
### 本地更新(最常用)
```
bash
cd
自动化部署脚本/x86架构/预定系统/一键更新
./update_cron_jobs.sh
```
### 远程更新服务器
```
bash
./update_cron_jobs.sh
--host
192.168.1.100
--user
root
```
---
## 命令参数
| 参数 | 说明 | 示例 |
|------|------|------|
|
`--host <IP>`
| 远程服务器地址 |
`--host 192.168.1.100`
|
|
`--user <用户>`
| SSH用户名(默认root) |
`--user admin`
|
|
`--batch <文件>`
| 批量更新服务器列表 |
`--batch servers.txt`
|
|
`--confirm`
| 执行前确认 |
`--confirm`
|
|
`--dry-run`
| 干运行(仅检查不更新) |
`--dry-run`
|
|
`--rollback`
| 回滚到上一版本 |
`--rollback`
|
|
`--help`
| 显示帮助信息 |
`--help`
|
---
## 使用场景
### 场景1:更新单台本地服务器
```
bash
./update_cron_jobs.sh
```
### 场景2:更新单台远程服务器
```
bash
./update_cron_jobs.sh
--host
192.168.1.100
--user
root
```
### 场景3:批量更新多台服务器
```
bash
# 1. 创建服务器列表文件
cat
>
servers.txt
<<
EOF
192.168.1.100:root:password
192.168.1.101:root:password
192.168.1.102:root:password
EOF
# 2. 执行批量更新
./update_cron_jobs.sh
--batch
servers.txt
```
### 场景4:确认模式更新(推荐)
```
bash
./update_cron_jobs.sh
--host
192.168.1.100
--confirm
```
### 场景5:仅检查不更新
```
bash
./update_cron_jobs.sh
--dry-run
```
### 场景6:更新失败回滚
```
bash
./update_cron_jobs.sh
--rollback
```
---
## 更新内容
### 脚本列表
| 序号 | 脚本名称 | 版本 | 说明 |
|-----|---------|------|------|
| 1 | monitor_emqx_service.sh | V2.2 | EMQX服务监控 |
| 2 | monitor_mysql_service.sh | V1.2 | MySQL服务监控 |
| 3 | monitor_redis_service.sh | V1.2 | Redis服务监控 |
| 4 | monitor_external_api_services_v2.sh | V1.2 | 外部API服务监控 |
| 5 | monitor_inner_api_services.sh | V1.2 | 内部API服务监控 |
| 6 | backup_mysql_databases.sh | V1.1 | MySQL数据库备份 |
| 7 | backup_mysql_logs.sh | V1.2 | MySQL日志备份 |
| 8 | backup_nginx_logs.sh | V1.2 | Nginx日志备份 |
| 9 | auto_clean_deleted_ubains_v3.sh | V3.1 | 已删除文件清理 |
### 自动更新内容
-
✅ 脚本文件替换
-
✅ 执行权限设置(755)
-
✅ Crontab配置更新(10分钟间隔)
-
✅ 日志轮转机制(5MB轮转、保留30天)
-
✅ PID锁机制(防止并发执行)
-
✅ 自动清理废弃脚本文件(如 clean_deleted_ubains_v2.sh)
---
## Crontab 配置说明
### 更新后的定时任务
```
bash
# 监控类:每 10 分钟执行,错峰间隔 1 分钟
*
/10
*
*
*
*
/opt/scripts/monitor_emqx_service.sh
# 0, 10, 20...
*
/10
*
*
*
*
sleep
60
&&
/opt/scripts/monitor_mysql_service.sh
# 1, 11, 21...
*
/10
*
*
*
*
sleep
120
&&
/opt/scripts/monitor_redis_service.sh
# 2, 12, 22...
*
/10
*
*
*
*
sleep
180
&&
/opt/scripts/monitor_external_api_services_v2.sh
# 3, 13, 23...
*
/10
*
*
*
*
sleep
240
&&
/opt/scripts/monitor_inner_api_services.sh
# 4, 14, 24...
# 备份类:每日凌晨执行
0 1
*
*
*
/opt/scripts/backup_mysql_databases.sh
0 2
*
*
*
/opt/scripts/backup_mysql_logs.sh
0 3
*
*
*
/opt/scripts/backup_nginx_logs.sh
# 维护类:每日凌晨执行
0 4
*
*
*
/opt/scripts/auto_clean_deleted_ubains_v3.sh
```
---
## 自动备份机制
### 备份位置
```
/opt/scripts/backup/
├── 20260330_120000/
│ ├── monitor_emqx_service.sh.backup
│ ├── monitor_mysql_service.sh.backup
│ ├── crontab.backup
│ └── metadata.txt
└── 20260329_150000/
└── ...
```
### 备份保留期
-
自动清理超过
**7天**
的备份
-
保留最新的备份用于回滚
---
## 更新报告
### 报告位置
```
/var/log/scripts/update_report_YYYYMMDD_HHMMSS.txt
```
### 报告内容
-
更新时间
-
更新服务器
-
更新统计(成功/失败数量)
-
脚本版本列表
-
更新成功/失败列表
-
备份位置
---
## 故障排查
### 问题1:远程更新需要多次输入密码
```
bash
# 说明:首次SSH连接时需要输入密码,后续会复用连接(ControlMaster)
# 连接复用有效期:300秒(5分钟)
# 如需完全免密,建议配置SSH密钥认证
ssh-keygen
-t
rsa
-b
4096
ssh-copy-id root@192.168.1.100
```
### 问题2:连接远程服务器失败
```
bash
# 检查SSH连接
ssh root@192.168.1.100
"echo 'ping'"
# 检查防火墙
telnet 192.168.1.100 22
```
### 问题3:crontab出现重复任务
```
bash
# V1.3版本已自动修复此问题,如仍有重复可手动清理:
crontab
-l
|
grep
-vE
"(/opt/scripts/预定系统|/opt/scripts/monitor_|/opt/scripts/backup_|# ========== .*类|# ============================================)"
>
/tmp/crontab_clean.tmp
crontab /tmp/crontab_clean.tmp
# 重新运行更新脚本
./update_cron_jobs.sh
--host
192.168.5.47
--user
root
```
### 问题4:权限不足
```
bash
# 确保有执行权限
chmod
+x update_cron_jobs.sh
# 确保目标目录可写
ls
-ld
/opt/scripts
```
### 问题5:更新失败回滚
```
bash
# 查看备份目录
ls
-lt
/opt/scripts/backup/
# 手动回滚
./update_cron_jobs.sh
--rollback
```
### 问题6:查看更新日志
```
bash
# 查看更新日志
tail
-f
/var/log/scripts/update_cron_jobs.log
# 查看最新报告
ls
-lt
/var/log/scripts/update_report_
*
cat
/var/log/scripts/update_report_
*
.txt |
tail
-1
```
---
## 目录结构
```
预定系统一键更新/
├── update_cron_jobs.sh # 主更新脚本
└── 使用说明.md # 本文档
```
---
## 注意事项
1.
**执行权限**
:确保脚本有执行权限(
`chmod +x`
)
2.
**脚本路径**
:确保定时脚本目录正确(
`../定时脚本`
)
3.
**网络连接**
:远程更新前确保SSH连接正常
4.
**备份保留**
:更新前会自动备份,7天后自动清理
5.
**版本验证**
:更新失败会自动回滚,请查看日志确认结果
---
## 技术支持
如遇问题,请提供以下信息:
1.
错误日志:
`/var/log/scripts/update_cron_jobs.log`
2.
更新报告:
`/var/log/scripts/update_report_*.txt`
3.
备份位置:
`/opt/scripts/backup/`
4.
脚本版本:
`./update_cron_jobs.sh --help`
---
**文档结束**
自动化部署脚本/x86架构/预定系统/定时脚本/auto_clean_deleted_ubains_v3.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:auto_clean_deleted_ubains_v3.sh
# 功能描述:已删除大文件自动清理与容器重启脚本
# 版本:V3.
0
# 版本:V3.
1
# 创建日期:2026-01-27
# 更新日期:2026-03-30
#
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/backup_mysql_databases.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:backup_mysql_databases.sh
# 功能描述:MySQL数据库定时备份脚本
# 版本:V1.
0
# 版本:V1.
1
# 创建日期:2026-01-27
# 基于文档:_PRD_预定系统_MySQL数据库备份需求文档.md
#
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/backup_mysql_logs.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:backup_mysql_logs.sh
# 功能描述:MySQL日志文件定时备份与压缩脚本
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-01-27
# 更新日期:2026-03-30
# 基于文档:_PRD_预定系统_MySQL日志备份需求文档.md
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/backup_nginx_logs.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:backup_nginx_logs.sh
# 功能描述:Nginx日志文件定时备份与压缩脚本
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-01-27
# 更新日期:2026-03-30
# 基于文档:_PRD_预定系统_Nginx日志备份需求文档.md
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/check_deleted_file_ubains.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:check_deleted_file_ubains.sh
# 功能描述:已删除但仍被占用文件排查工具(内核直读版)
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-02-28
# 更新日期:2026-03-30
#
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_emqx_service.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:monitor_emqx_service.sh
# 功能描述:EMQX 服务监测与自愈脚本 (增强版)
# 版本:V2.
1
# 版本:V2.
2
# 创建日期:2026-01-27
# 修改日期:2026-03-30
# 基于文档:_PRD_预定系统_EMQX 服务监控需求文档.md V2.1
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_external_api_services_v2.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:monitor_external_api_services_v2.sh
# 功能描述:外部API服务监测与自愈脚本
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-01-27
# 更新日期:2026-03-30
# 基于文档:_PRD_预定系统外部API服务监控需求文档.md (V1.1)
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_inner_api_services.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:monitor_inner_api_services.sh
# 功能描述:预定系统后端服务监测与自愈脚本
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-01-27
# 更新日期:2026-03-30
# 基于文档:_PRD_预定系统后端服务监测需求文档.md (V1.1)
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_mysql_service.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:monitor_mysql_service.sh
# 功能描述:MySQL服务监测与自愈脚本
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-01-27
# 更新日期:2026-03-30
# 基于文档:_PRD_预定系统_MySQL服务监控需求文档.md (V1.1)
...
...
自动化部署脚本/x86架构/预定系统/定时脚本/monitor_redis_service.sh
浏览文件 @
e0f57343
...
...
@@ -3,7 +3,7 @@
#===============================================================================
# 脚本名称:monitor_redis_service.sh
# 功能描述:Redis服务监测与自愈脚本
# 版本:V1.
1
# 版本:V1.
2
# 创建日期:2026-01-27
# 更新日期:2026-03-30
# 基于文档:_PRD_预定系统_Redis服务监控需求文档.md (V1.1)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论