1a88954126
- v1 data_platform 脚本复制到 v2/scripts/data_platform/ 维护 - daily_all_update.py: 路径用 STOCK_MOUNT env(SSH模式) + STOCK_LIMIT(验证) - run_daily_update.sh: rsync拉NAS→本地 + v1增量 + 推NAS(SSH key免密,不挂载) - launchd com.sanguo.data-update 每日15:30(替代crontab,macOS FDA限制) - 验证: STOCK_LIMIT=2 updated=2 records=24 拉到当天 - 文档 docs/deployment/data-download.md
37 lines
1.8 KiB
Bash
Executable File
37 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# v2 数据下载包装(SSH 模式:rsync NAS↔本地 + 跑 v1 daily_all_update)
|
||
# 不依赖 SMB 挂载,用 sanguo-nas SSH key 免密。
|
||
# 用法:./run_daily_update.sh [--skip-daily|--skip-15min]
|
||
# env:
|
||
# STOCK_LIMIT=N 限制股票数(验证用,默认 0=全市场)
|
||
# SKIP_PULL=1 跳过 rsync 拉(验证用;生产必须拉,v1 才能增量)
|
||
set -e
|
||
NAS=sanguo-nas
|
||
LOCAL=${STOCK_MOUNT:-/tmp/stock_dl}
|
||
export STOCK_MOUNT=$LOCAL
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
|
||
mkdir -p "$LOCAL/logs/daily_update/progress" \
|
||
"$LOCAL/A股数据/日线数据/daily" \
|
||
"$LOCAL/minute_kline/15min" \
|
||
"$LOCAL/A股数据/stock_info" \
|
||
"$LOCAL/sanguo_vnpy/data"
|
||
|
||
if [ "${SKIP_PULL:-0}" != "1" ]; then
|
||
echo "=== 1. rsync 拉 NAS 现有 → 本地(增量,首次慢后续快)==="
|
||
rsync -az "$NAS:/volume1/stock/A股数据/stock_info/" "$LOCAL/A股数据/stock_info/" || echo " stock_info pull warn"
|
||
rsync -az "$NAS:/volume1/stock/A股数据/日线数据/daily/" "$LOCAL/A股数据/日线数据/daily/" || echo " daily pull warn"
|
||
rsync -az "$NAS:/volume1/stock/minute_kline/15min/" "$LOCAL/minute_kline/15min/" || echo " 15min pull warn"
|
||
rsync -az "$NAS:/volume1/stock/sanguo_vnpy/data/" "$LOCAL/sanguo_vnpy/data/" || echo " vnpy data pull warn"
|
||
fi
|
||
|
||
echo "=== 2. 跑 v1 增量更新(STOCK_MOUNT=$LOCAL STOCK_LIMIT=${STOCK_LIMIT:-0})==="
|
||
cd "$SCRIPT_DIR"
|
||
python3 daily_all_update.py "$@"
|
||
|
||
echo "=== 3. rsync 推 本地 → NAS ==="
|
||
rsync -az "$LOCAL/A股数据/日线数据/daily/" "$NAS:/volume1/stock/A股数据/日线数据/daily/"
|
||
rsync -az "$LOCAL/minute_kline/15min/" "$NAS:/volume1/stock/minute_kline/15min/"
|
||
rsync -az "$LOCAL/sanguo_vnpy/data/" "$NAS:/volume1/stock/sanguo_vnpy/data/"
|
||
echo "=== 完成 $(date) ==="
|