#!/bin/bash # 重新同步 conda 环境(上次被 sed 损坏,这次纯净拷贝) set -u CONDA_ENVS="/home/ubuntu/miniconda3/envs" LOGDIR="/home/ubuntu/change_hair/project/logs" mkdir -p "$CONDA_ENVS" "$LOGDIR" echo "conda 环境重传开始: $(date '+%H:%M:%S')" | tee -a "$LOGDIR/sync_conda.log" for ENV in py310 my_hair sdwebui; do echo "[$(date '+%H:%M:%S')] 同步 $ENV ..." | tee -a "$LOGDIR/sync_conda.log" # 串行传输,--partial 续传,不中断 rsync -a --partial \ -e "ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3" \ "szlc@192.168.101.63:/home/szlc/miniconda3/envs/${ENV}/" \ "${CONDA_ENVS}/${ENV}/" >>"$LOGDIR/sync_conda_${ENV}.log" 2>&1 if [ $? -eq 0 ]; then echo "[$(date '+%H:%M:%S')] $ENV 完成 ✓" | tee -a "$LOGDIR/sync_conda.log" else echo "[$(date '+%H:%M:%S')] $ENV 失败 ✗" | tee -a "$LOGDIR/sync_conda.log" fi done echo "conda 环境重传结束: $(date '+%H:%M:%S')" | tee -a "$LOGDIR/sync_conda.log" touch "$LOGDIR/sync_conda.done"