fix(nas_sync): sync_parquet.sh 加保活+retry(防6.24G跨公网broken pipe)
scp -r 6.24G/70min跨公网,加ServerAliveInterval=30保活+3次retry兜底broken pipe。
This commit is contained in:
@@ -11,11 +11,19 @@ LOG=/volume1/stock/sanguo_vnpy_v2/data_backup/parquet.log
|
||||
echo "=== parquet scp start $(date) ===" >> "$LOG"
|
||||
cd "$DATA" || { echo "cd fail" >> "$LOG"; exit 1; }
|
||||
|
||||
# scp -r 覆盖式拉取(scp 无断点续传,已传文件会重传;6.24GB 全量约 70min)
|
||||
scp -r -i "$KEY" -o StrictHostKeyChecking=no \
|
||||
# scp -r 覆盖式拉取(6.24GB 全量约 70min;ServerAliveInterval 保活防跨公网 broken pipe + retry 兜底)
|
||||
SCP_OK=0
|
||||
for attempt in 1 2 3; do
|
||||
if scp -r -i "$KEY" -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -o ServerAliveCountMax=20 \
|
||||
"$VPS:C:/sanguo_vnpy_v2/data/static" \
|
||||
"$VPS:C:/sanguo_vnpy_v2/data/valuation_baostock" ./ >> "$LOG" 2>&1
|
||||
echo "SCP_RC=$? $(date)" >> "$LOG"
|
||||
"$VPS:C:/sanguo_vnpy_v2/data/valuation_baostock" ./ >> "$LOG" 2>&1; then
|
||||
SCP_OK=1
|
||||
break
|
||||
fi
|
||||
echo "[$(date '+%T')] scp attempt $attempt broken pipe, retry..." >> "$LOG"
|
||||
sleep 10
|
||||
done
|
||||
echo "SCP_RC OK=$SCP_OK $(date)" >> "$LOG"
|
||||
|
||||
du -sh "$DATA/static" "$DATA/valuation_baostock" >> "$LOG" 2>&1
|
||||
echo "PARQUET_DONE $(date)" >> "$LOG"
|
||||
|
||||
Reference in New Issue
Block a user