Files
java-template/utils/run_monthly_upload.sh
T
2025-09-07 20:03:14 +08:00

86 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# 自动化数据上传脚本 - 上传过去30天的数据,每5分钟一次
# 作者: Claude Code AI Assistant
# 日期: 2025-09-07
echo "🚀 自动化数据上传工具 - 30天历史数据"
echo "======================================"
echo ""
# 检查Python环境
if [ ! -d "test_env" ]; then
echo "❌ 虚拟环境不存在,请先运行 python3 -m venv test_env"
exit 1
fi
# 激活虚拟环境
source test_env/bin/activate
echo "📊 即将开始上传过去30天的数据:"
echo " • 时间间隔: 每5分钟一次"
echo " • 预计操作数: ~25,920 次"
echo " • 预计耗时: 3-4 小时"
echo " • 支持中断恢复"
echo ""
# 检查是否有进度文件
if [ -f "progress_state.json" ]; then
echo "🔄 发现进度文件,将从上次中断处继续"
python background_uploader.py status
echo ""
fi
echo "选择运行方式:"
echo "1. 前台运行(可以看到实时日志)"
echo "2. 后台运行(nohup方式)"
echo "3. 查看当前进度状态"
echo "4. 重置进度(重新开始)"
echo "5. 开始持续上传(当前数据)"
echo ""
read -p "请选择 (1-5): " choice
case $choice in
1)
echo "🖥️ 前台运行模式"
echo "💡 按 Ctrl+C 可以安全中断并保存进度"
echo ""
sleep 2
python background_uploader.py start 30
;;
2)
echo "📡 后台运行模式"
nohup python background_uploader.py start 30 > upload_30days.log 2>&1 &
PID=$!
echo "✅ 后台任务已启动 (PID: $PID)"
echo "📄 日志文件: upload_30days.log"
echo "📊 查看进度: python background_uploader.py status"
echo "🛑 停止任务: kill $PID"
echo ""
echo "监控命令:"
echo " tail -f upload_30days.log # 实时查看日志"
echo " python background_uploader.py status # 查看进度"
;;
3)
echo "📊 当前进度状态:"
python background_uploader.py status
;;
4)
echo "🗑️ 重置进度..."
python background_uploader.py reset
echo "✅ 进度已重置,可以重新开始"
;;
5)
echo "🔄 持续上传模式(每5分钟上传当前数据)"
echo "💡 按 Ctrl+C 停止"
python background_uploader.py continuous
;;
*)
echo "❌ 无效选择"
exit 1
;;
esac
echo ""
echo "✅ 操作完成"