91 lines
2.4 KiB
Bash
Executable File
91 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 同步代码到Windows节点并执行数据采集任务
|
||
# 使用方法:./sync-and-run.sh
|
||
|
||
# 颜色定义
|
||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
|
||
|
||
log() { echo -e "${GREEN}✅ $1${NC}"; }
|
||
warn() { echo -e "${YELLOW}⚠️ $1${NC}"; }
|
||
error() { echo -e "${RED}❌ $1${NC}"; }
|
||
info() { echo -e "${BLUE}ℹ️ $1${NC}"; }
|
||
|
||
# Windows节点信息
|
||
WINDOWS_NODE="192.168.2.33"
|
||
WINDOWS_USER="administrator"
|
||
PROJECT_PATH="/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live"
|
||
WINDOWS_PROJECT_PATH="C:/sanguo_quant_live"
|
||
|
||
# 同步代码到Windows节点
|
||
sync_code() {
|
||
info "同步代码到Windows节点..."
|
||
|
||
# 同步整个项目到Windows节点
|
||
rsync -avz --exclude='*.pyc' --exclude='__pycache__' --exclude='*.log' --exclude='.git' \
|
||
"$PROJECT_PATH/" "$WINDOWS_USER@$WINDOWS_NODE:$WINDOWS_PROJECT_PATH/"
|
||
|
||
if [ $? -eq 0 ]; then
|
||
log "代码同步成功"
|
||
else
|
||
error "代码同步失败"
|
||
exit 1
|
||
fi
|
||
}
|
||
|
||
# 执行数据采集任务
|
||
run_data_collection() {
|
||
info "执行数据采集任务..."
|
||
|
||
# 在Windows节点上执行数据采集脚本
|
||
ssh "$WINDOWS_USER@$WINDOWS_NODE" "cd $WINDOWS_PROJECT_PATH/zhaoyun-data && python scripts/akshare_downloader.py --symbols 510050 510300 --start-date 20210101 --end-date 20231231"
|
||
|
||
if [ $? -eq 0 ]; then
|
||
log "数据采集任务执行成功"
|
||
else
|
||
error "数据采集任务执行失败"
|
||
exit 1
|
||
fi
|
||
}
|
||
|
||
# 主函数
|
||
main() {
|
||
info "开始执行Windows节点数据采集任务..."
|
||
|
||
# 同步代码
|
||
sync_code
|
||
|
||
# 执行数据采集任务
|
||
run_data_collection
|
||
|
||
log "数据采集任务完成!"
|
||
}
|
||
|
||
# 检查参数
|
||
if [ $# -gt 0 ]; then
|
||
case $1 in
|
||
--help)
|
||
echo "使用方法:$0 [选项]"
|
||
echo "选项:"
|
||
echo " --help 显示帮助信息"
|
||
echo " --sync 只同步代码,不执行任务"
|
||
echo " --run 只执行任务,不同步代码"
|
||
exit 0
|
||
;;
|
||
--sync)
|
||
sync_code
|
||
;;
|
||
--run)
|
||
run_data_collection
|
||
;;
|
||
*)
|
||
error "未知选项:$1"
|
||
echo "使用 --help 查看帮助信息"
|
||
exit 1
|
||
;;
|
||
esac
|
||
else
|
||
# 没有参数,执行默认操作
|
||
main
|
||
fi
|