run_refresh.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. # 学籍号刷新快速执行脚本
  3. # 用法: ./run_refresh.sh [once|monitor|bg]
  4. # 参数说明:
  5. # once - 一次性刷新所有学籍号(默认)
  6. # monitor- 持续监控模式,前台执行
  7. # bg - 持续监控模式,后台执行
  8. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  9. SCRIPT_FILE="${SCRIPT_DIR}/process_student_id_card_refresh.sh"
  10. if [[ ! -f "$SCRIPT_FILE" ]]; then
  11. echo "错误:主脚本文件 $SCRIPT_FILE 未找到!"
  12. exit 1
  13. fi
  14. # 检查参数
  15. MODE="${1:-once}"
  16. echo "==============================================="
  17. echo "学生学籍号刷新脚本"
  18. echo "执行模式: $MODE"
  19. echo "时间: $(date '+%Y-%m-%d %H:%M:%S')"
  20. if [[ "$MODE" == "bg" ]]; then
  21. echo "运行方式: 后台守护进程"
  22. else
  23. echo "运行方式: $([[ "$MODE" == "monitor" ]] && echo "前台守护进程" || echo "一次性执行")"
  24. fi
  25. echo "==============================================="
  26. case "$MODE" in
  27. "once")
  28. echo "执行一次性刷新模式..."
  29. "$SCRIPT_FILE" once
  30. ;;
  31. "monitor")
  32. echo "执行持续监控模式(前台)..."
  33. "$SCRIPT_FILE"
  34. ;;
  35. "bg")
  36. echo "执行持续监控模式(后台)..."
  37. echo "日志文件: ${SCRIPT_DIR}/student_id_card_refresh/process_student_id_card_refresh_$(date +%Y%m%d)_*.log"
  38. nohup "$SCRIPT_FILE" > /dev/null 2>&1 &
  39. echo "脚本已启动后台运行,PID: $!"
  40. echo "使用 'ps aux | grep process_student_id_card_refresh' 查看运行状态"
  41. echo "使用 'pkill -f process_student_id_card_refresh' 停止脚本"
  42. ;;
  43. *)
  44. echo "用法: $0 [once|monitor|bg]"
  45. echo " once - 一次性刷新所有学籍号(默认)"
  46. echo " monitor- 持续监控模式,前台执行"
  47. echo " bg - 持续监控模式,后台执行(推荐)"
  48. exit 1
  49. ;;
  50. esac