You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.0 KiB

# 数据清理指南
本指南说明如何使用数据清理脚本,定期删除过期的临时数据。
## 清理功能
1. **自动清理15天前的未完成记录**:删除超过15天且没有签名的临时记录
2. **优化历史记录**:对于每个sessionId,只保留最新的记录,删除更早的历史记录
## 使用方法
### 手动执行清理
在项目根目录下执行:
```bash
# 使用npm命令执行
npm run cleanup
# 或直接使用node命令执行
node cleanup.js
```
### 设置定时任务
#### Windows系统
1. 打开**任务计划程序**
2. 点击**创建基本任务**
3. 设置任务名称(如"清理合格证过期数据")
4. 设置触发器为**每天**或**每周**
5. 设置操作为**启动程序**
6. 程序/脚本:`node.exe`
7. 添加参数:`cleanup.js`
8. 起始于:项目根目录(如`D:\xt\hgzxx`)
9. 完成向导并启用任务
#### Linux系统
使用cron定时任务:
```bash
# 编辑crontab
crontab -e
# 添加每天凌晨执行的任务
0 0 * * * cd /path/to/hgzxx && node cleanup.js >> cleanup.log 2>&1
```
#### macOS系统
使用launchd或cron:
```bash
# 使用cron
crontab -e
# 添加每天凌晨执行的任务
0 0 * * * cd /path/to/hgzxx && node cleanup.js >> cleanup.log 2>&1
```
## 清理效果
执行清理后,系统会:
- 删除15天前的未完成记录(无签名)
- 保留每个sessionId的最新记录,删除历史记录
- 保持数据库的健康状态
- 提高查询性能
## 注意事项
1. **数据安全**:清理操作是不可逆的,请确保理解清理逻辑后再执行
2. **执行时机**:建议在系统低峰期执行清理操作
3. **日志记录**:执行结果会输出到控制台,建议配置日志文件以便查看
4. **备份**:定期对数据库进行备份,以防止意外情况
## 定制清理策略
如需调整清理策略,可修改`cleanup.js`文件中的以下参数:
- **清理天数**:修改`INTERVAL 15 DAY`中的数字
- **清理条件**:调整SQL语句中的条件判断
- **保留策略**:修改历史记录的保留逻辑