本系统包含两个核心处理脚本,已修复Ubuntu环境兼容性问题:
process_student_changes_fixed.sh - 学生状态变更处理(休学/退学/毕业)process_student_resume_fixed.sh - 学生复学处理cd /path/to/scripts
./control_scripts.sh startall
./control_scripts.sh statusall
./control_scripts.sh health all
./control_scripts.sh info
/scripts/
├── control_scripts.sh # 生产环境控制脚本
├── process_student_changes_fixed.sh # 状态变更处理脚本
├── process_student_resume_fixed.sh # 复学处理脚本
├── data.conf # 配置文件
├── logs/ # 控制脚本日志目录
│ └── control_scripts_YYYYMMDD.log
└── student_status_change/ # 处理脚本日志目录
└── process_student_*_YYYYMMDD_HHMMSS.log
# Database configuration
DB_HOST="your_db_host"
DB_PORT="3306"
DB_NAME="your_db_name"
DB_USER="your_db_user"
DB_PASS="your_db_password"
# Processing configuration
BATCH_SIZE=100 # 每批处理记录数
MAX_RETRY=3 # 最大重试次数
RETRY_DELAY=5 # 重试间隔(秒)
CYCLE_INTERVAL=600 # 处理周期间隔(秒)
# 启动/停止/重启
./control_scripts.sh start changes # 启动状态变更处理
./control_scripts.sh stop resume # 停止复学处理
./control_scripts.sh restart changes # 重启状态变更处理
# 状态检查
./control_scripts.sh status changes # 查看状态变更脚本状态
./control_scripts.sh statusall # 查看所有脚本状态
# 启动所有脚本
./control_scripts.sh startall
# 停止所有脚本
./control_scripts.sh stopall
# 重启所有脚本 (需要时使用)
./control_scripts.sh restart all
# 健康检查
./control_scripts.sh health changes # 检查单个脚本
./control_scripts.sh health all # 检查所有脚本
# 系统资源监控
./control_scripts.sh info
症状: start 命令失败
检查:
# 检查脚本权限
ls -la *.sh
# 检查配置文件
cat data.conf
# 检查数据库连接
mysql -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PASS $DB_NAME -e "SELECT 1;"
症状: status 显示未知状态
解决:
# 清理可能的残留文件
rm -f *.lock pids/*.pid
# 重启脚本
./control_scripts.sh restart all
症状: 健康检查显示数据库连接失败 检查:
解决:
# 清理旧日志 (保留最近7天)
find logs/ -name "*.log" -mtime +7 -delete
find student_status_change/ -name "*.log" -mtime +7 -delete
logs/control_scripts_YYYYMMDD.logstudent_status_change/process_student_*_YYYYMMDD_HHMMSS.log#!/bin/bash
# 监控脚本示例
SCRIPT_DIR="/path/to/scripts"
LOG_FILE="/var/log/student_monitor.log"
echo "$(date): 检查脚本状态" >> "$LOG_FILE"
cd "$SCRIPT_DIR"
# 检查脚本状态
if ! ./control_scripts.sh health all >> "$LOG_FILE" 2>&1; then
echo "$(date): 健康检查失败,发送告警" >> "$LOG_FILE"
# 发送告警邮件/短信等
fi
# 1. 停止所有服务
./control_scripts.sh stopall
# 2. 备份当前脚本
cp *.sh backup/
# 3. 部署新版本脚本
# (复制新版本文件)
# 4. 启动服务
./control_scripts.sh startall
# 5. 验证功能
./control_scripts.sh health all
# 逐个重启脚本,最小化服务中断
./control_scripts.sh restart changes
sleep 30
./control_scripts.sh restart resume
如遇到问题,请检查:
最后更新: 2025-12-26 版本: Ubuntu兼容修复版本