#!/bin/bash # ============================================ # 只同步策略,不需要重启 Docker # vnpy 支持动态加载策略,所以同步完成后直接就能在 UI 里加载新策略 # ============================================ set -e # 配置信息 NAS_IP="192.168.2.154" NAS_USER="admin" LOCAL_PROJECT="/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live" NAS_TARGET="/volume1/stock/sanguo_vnpy" # 颜色 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } echo "============================================" echo " 同步策略到 NAS(不重启 Docker)" echo " vnpy 支持动态加载,同步完直接在 UI 加载新策略" echo "============================================" echo "" # 检查参数 if [ $# -eq 0 ]; then log_error "请指定要同步的策略目录" echo "" echo "使用方法:" echo " ./sync_strategy_only.sh strategies/pangtong-value/strategy_A" echo "" exit 1 fi STRATEGY_PATH="$1" log_info "1/2: 同步策略 $STRATEGY_PATH 到 NAS" rsync -av --delete \ "$LOCAL_PROJECT/$STRATEGY_PATH"/ \ "$NAS_USER@$NAS_IP:$NAS_TARGET/$STRATEGY_PATH"/ \ --exclude='__pycache__' \ --exclude='*.pyc' \ --exclude='.ipynb_checkpoints' \ --exclude='.DS_Store' log_info "✅ 同步完成" echo "" log_info "2/2: 完成!" echo "" echo "🎯 下一步:" echo " 1. 在 vnpy UI 里刷新策略" echo " 2. 加载你的策略 $STRATEGY_PATH" echo " 3. 运行回测" echo " 4. 结果自动保存到 $STRATEGY_PATH/backtest_results/" echo "" echo "✅ 完成!不需要重启 Docker!直接用就行!" echo ""