#!/bin/bash # 学籍号刷新快速执行脚本 # 用法: ./run_refresh.sh [once|monitor|bg] # 参数说明: # once - 一次性刷新所有学籍号(默认) # monitor- 持续监控模式,前台执行 # bg - 持续监控模式,后台执行 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_FILE="${SCRIPT_DIR}/process_student_id_card_refresh.sh" if [[ ! -f "$SCRIPT_FILE" ]]; then echo "错误:主脚本文件 $SCRIPT_FILE 未找到!" exit 1 fi # 检查参数 MODE="${1:-once}" echo "===============================================" echo "学生学籍号刷新脚本" echo "执行模式: $MODE" echo "时间: $(date '+%Y-%m-%d %H:%M:%S')" if [[ "$MODE" == "bg" ]]; then echo "运行方式: 后台守护进程" else echo "运行方式: $([[ "$MODE" == "monitor" ]] && echo "前台守护进程" || echo "一次性执行")" fi echo "===============================================" case "$MODE" in "once") echo "执行一次性刷新模式..." "$SCRIPT_FILE" once ;; "monitor") echo "执行持续监控模式(前台)..." "$SCRIPT_FILE" ;; "bg") echo "执行持续监控模式(后台)..." echo "日志文件: ${SCRIPT_DIR}/student_id_card_refresh/process_student_id_card_refresh_$(date +%Y%m%d)_*.log" nohup "$SCRIPT_FILE" > /dev/null 2>&1 & echo "脚本已启动后台运行,PID: $!" echo "使用 'ps aux | grep process_student_id_card_refresh' 查看运行状态" echo "使用 'pkill -f process_student_id_card_refresh' 停止脚本" ;; *) echo "用法: $0 [once|monitor|bg]" echo " once - 一次性刷新所有学籍号(默认)" echo " monitor- 持续监控模式,前台执行" echo " bg - 持续监控模式,后台执行(推荐)" exit 1 ;; esac