#!/bin/bash # 成绩监控系统 - 打包脚本 # 用途:打包项目文件准备上传到服务器 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ARCHIVE_NAME="gpa_monitor.tar.gz" echo "=========================================" echo " 成绩监控系统 - 打包工具" echo "=========================================" echo "" cd "$SCRIPT_DIR" # 检查config.ini是否存在 if [ ! -f "config.ini" ]; then echo "⚠️ 警告: 未找到 config.ini" echo " 请先配置 config.ini 文件" echo "" read -p "是否继续打包?(y/n): " continue_pack if [ "$continue_pack" != "y" ]; then echo "已取消" exit 0 fi fi echo "📦 正在打包必需文件..." echo "" # 打包必需文件 tar -czf "$ARCHIVE_NAME" \ monitor.py \ config.ini \ requirements.txt \ setup_python.sh \ diagnose.sh \ grade-monitor.service \ readme.md \ "常见问题解决.md" \ "故障排查指南.md" \ "重启服务.md" \ "Debian服务器部署指南.md" \ "修复说明_2026-01-21.md" \ 2>/dev/null if [ $? -eq 0 ]; then echo "✓ 打包成功!" echo "" echo "压缩包信息:" ls -lh "$ARCHIVE_NAME" echo "" echo "📄 包含文件:" tar -tzf "$ARCHIVE_NAME" echo "" echo "=========================================" echo "✨ 本次更新内容(2026-01-21):" echo " 1. ✅ 修复会话过期问题 - 自动重新登录" echo " 2. ✅ 改进成绩提取 - 多种表格选择器" echo " 3. ✅ 新增调试模式 - --debug 参数" echo " 4. ✅ 新增诊断工具 - diagnose.sh" echo " 5. ✅ 自动保存 debug_page.html 供排查" echo "" echo "=========================================" echo "📤 上传到服务器:" echo " scp $ARCHIVE_NAME 用户名@服务器IP:~/" echo "" echo "🔧 服务器上部署更新:" echo " # 停止服务" echo " systemctl stop grade-monitor" echo "" echo " # 备份旧文件" echo " cd ~/grade_monitor" echo " cp monitor.py monitor.py.backup" echo "" echo " # 解压新文件" echo " tar -xzf ~/gpa_monitor.tar.gz -C ~/grade_monitor" echo "" echo " # 赋予执行权限" echo " chmod +x diagnose.sh" echo "" echo " # 重启服务" echo " systemctl restart grade-monitor" echo "" echo " # 查看日志" echo " tail -f monitor.log" echo "" echo "🔍 如果遇到问题:" echo " cd ~/grade_monitor" echo " ./diagnose.sh" echo "" echo "详细说明: 修复说明_2026-01-21.md" echo "=========================================" else echo "✗ 打包失败" exit 1 fi