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