#!/bin/bash # 超星数据同步定时任务安装脚本 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" || exit 1 echo "==========================================" echo "超星数据同步定时任务安装" echo "==========================================" echo "" # 检查run_script.sh是否存在 if [ ! -f "$SCRIPT_DIR/run_script.sh" ]; then echo "错误: 未找到 run_script.sh 文件" exit 1 fi # 赋予执行权限 echo "步骤1: 赋予执行权限..." chmod +x "$SCRIPT_DIR/run_script.sh" echo "✓ 执行权限已设置" echo "" # 创建日志目录 echo "步骤2: 创建日志目录..." mkdir -p "$SCRIPT_DIR/logs" echo "✓ 日志目录已创建: $SCRIPT_DIR/logs" echo "" # 测试脚本执行 echo "步骤3: 测试脚本启动器..." if bash "$SCRIPT_DIR/run_script.sh" --help 2>/dev/null; then echo "✓ 脚本启动器测试通过" else echo "⚠ 脚本启动器测试未通过,但继续安装..." fi echo "" # 备份现有crontab echo "步骤4: 备份现有crontab配置..." if crontab -l > "$SCRIPT_DIR/crontab_backup_$(date +%Y%m%d_%H%M%S).txt" 2>/dev/null; then echo "✓ 已备份现有crontab配置" else echo "⚠ 未找到现有crontab配置(首次安装)" fi echo "" # 安装新的crontab配置 echo "步骤5: 安装crontab配置..." if crontab "$SCRIPT_DIR/crontab_config.txt"; then echo "✓ crontab配置已安装" else echo "✗ crontab配置安装失败" exit 1 fi echo "" # 显示当前crontab任务 echo "步骤6: 验证安装..." echo "当前crontab任务列表:" echo "----------------------------------------" crontab -l | grep -E "(请求|# 执行时间表|# 第一个|# 第二个|# 第三个|# 第四个|# 第五个)" || crontab -l echo "----------------------------------------" echo "" echo "==========================================" echo "安装完成!" echo "==========================================" echo "" echo "执行时间表:" echo " 00:00 - 请求系部信息API.py" echo " 00:05 - 请求专业信息API.py" echo " 00:10 - 请求班级信息API.py" echo " 00:15 - 请求学生信息API.py" echo " 00:20 - 请求学籍异动信息API.py" echo "" echo "日志文件位置: $SCRIPT_DIR/logs/" echo "" echo "常用命令:" echo " 查看crontab任务: crontab -l" echo " 编辑crontab任务: crontab -e" echo " 查看日志: tail -f $SCRIPT_DIR/logs/*.log" echo "" echo "详细说明请查看: README_定时任务.md" echo ""