Skip to content

4步快速传输大文件夹(带进度条)

📋 环境信息

  • 服务器A: alice@192.168.1.100:2222
  • 服务器B: bob@10.0.0.50:22
  • 文件夹: ProofT5 (~100GB)

🔄 4步操作(带进度条)

1. 服务器A压缩(带进度)

ssh -p 2222 alice@192.168.1.100
cd /data/projects
tar -cf - ProofT5 | pv -s $(du -sb ProofT5 | cut -f1) | pigz -6 -p 8 > ProofT5.tar.gz

2. 下载到本地Mac(rsync进度)

rsync -avzP -e "ssh -p 2222" \
  alice@192.168.1.100:/data/projects/ProofT5.tar.gz \
  ~/Downloads/

3. 上传到服务器B(rsync进度)

rsync -avzP ~/Downloads/ProofT5.tar.gz \
  bob@10.0.0.50:/storage/projects/

4. 服务器B解压(带进度)

ssh bob@10.0.0.50
cd /storage/projects
pv ProofT5.tar.gz | pigz -d -p 8 | tar -xf -

🔗 如果两台服务器可直接连接

方案1:直接rsync(最快)

# 从服务器A直接rsync到服务器B
ssh -p 2222 alice@192.168.1.100 \
  "rsync -avzP /data/projects/ProofT5/ bob@10.0.0.50:/storage/projects/"

方案2:管道传输(次快)

# 压缩传输解压一步完成
ssh -p 2222 alice@192.168.1.100 \
  "cd /data/projects && tar -czf - ProofT5" | \
ssh bob@10.0.0.50 \
  "cd /storage/projects && tar -xzf -"

方案3:rsync通过SSH跳板

# 如果服务器B可从服务器A访问
ssh -p 2222 alice@192.168.1.100
rsync -avzP /data/projects/ProofT5/ bob@10.0.0.50:/storage/projects/

📝 工具安装

# 安装pv(进度条工具)
# Mac:
brew install pv

# Ubuntu/Debian:
sudo apt install pv pigz

# CentOS/RHEL:
sudo yum install pv pigz