1. 程式人生 > >linux parallel rsync 拷貝N多文件

linux parallel rsync 拷貝N多文件

.com pos epo clas 多個 roo size apps 小時

先來個對比圖看一下, 左邊圖是普通 rsync 目錄拷貝, 右邊圖是借助 parallel 工具並發起了多個 rsync

技術分享

centos6.5安裝 parallel

#!/bin/bash

# Install parallel on CentOS 6.
# Assumes you are root. Prefix w/ sudo if not.

cd /etc/yum.repos.d/
#wget http://download.opensuse.org/repositories/home:tange/CentOS_CentOS-5/home:tange.repo
wget http://download.opensuse.org/repositories/home:/tange/CentOS_CentOS-6/home:tange.repo
yum install parallel

開始 rsync 拷貝文件 [從/data/ 拷貝到 /hadoop/]

[10 ~]$ df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   50G  6.1G   41G  13% /
tmpfs                          32G   12K   32G   1% /dev/shm
/dev/sda1                     485M   39M  421M   9% /boot
/dev/mapper/VolGroup-lv_home 5.5G 140M 5.1G 3% /home /dev/mapper/data-apps 12T 5.2T 6.7T 44% /data /dev/mapper/bigdata-hadoop 12T 3.5T 8.3T 30% /hadoop

如果用普通的 rsync, 再加上很多小文件,一晚上只傳了1T 多點,使用 parallel 工具 1小時大概傳了500G

cd /data
find . -type f | parallel mkdir -p /hadoop/{//}; rsync -a {} /hadoop/{}

linux parallel rsync 拷貝N多文件