70 lines
1.5 KiB
Bash
Executable File
70 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# ============================================
|
|
# 使用 tar 打包方式同步文件到 NAS
|
|
# 绕过 rsync 权限问题
|
|
# ============================================
|
|
|
|
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 " 使用 tar 打包方式同步文件到 NAS"
|
|
echo "============================================"
|
|
echo ""
|
|
|
|
cd "$LOCAL_PROJECT"
|
|
|
|
log_info "1/3: 打包本地项目"
|
|
# 打包排除一些文件
|
|
tar -czf /tmp/sanguo_quant_live.tar.gz \
|
|
--exclude='.git' \
|
|
--exclude='__pycache__' \
|
|
--exclude='*.log' \
|
|
--exclude='*.pyc' \
|
|
--exclude='.ipynb_checkpoints' \
|
|
--exclude='backtest_results/*.png' \
|
|
--exclude='.DS_Store' \
|
|
.
|
|
|
|
log_info "✅ 打包完成"
|
|
echo ""
|
|
|
|
log_info "2/3: 上传并解压到 NAS"
|
|
# 上传并解压
|
|
cat /tmp/sanguo_quant_live.tar.gz | ssh "$NAS_USER@$NAS_IP" "cd '$NAS_TARGET' && tar -xzf - && echo '✅ 解压完成'"
|
|
|
|
log_info "✅ 同步完成"
|
|
echo ""
|
|
|
|
log_info "3/3: 清理本地临时文件"
|
|
rm /tmp/sanguo_quant_live.tar.gz
|
|
log_info "✅ 清理完成"
|
|
echo ""
|
|
|
|
log_info "🎉 文件同步完成!"
|
|
echo ""
|