先来个对比图看一下, 左边图是普通 rsync 目录拷贝, 右边图是借助 parallel 工具并发起了多个 rsync

centos6.5安装 parallel

#!/bin/bash

# Install parallel on CentOS .
# 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/]

[ ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G .1G 41G % /
tmpfs 32G 12K 32G % /dev/shm
/dev/sda1 485M 39M 421M % /boot
/dev/mapper/VolGroup-lv_home .5G 140M .1G % /home
/dev/mapper/data-apps 12T .2T .7T % /data
/dev/mapper/bigdata-hadoop 12T .5T .3T % /hadoop

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

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

**注意**

上面的 find 命令哪里,最好用 root 用户, 这样同步完你会发现所有文件夹的属主和属组都是 root, 所以还需要再用 rsync 同步一遍权限

rsync -a /data /hadoop

扩展:

如果是不同机器间,命令如下

cd /data
find . -type f | parallel "rsync -a -e 'ssh -p 3299' --rsync-path='mkdir -p /data{//} && rsync' {} 192.168.0.100:/data/{}"

  

linux parallel rsync 拷贝N多文件的更多相关文章

  1. linux设置rsync+inotify实时同步文件

    linux设置rsync+inotify实时同步文件   应用场景: 同步接收方:test01 接收目录:/opt/software/test/a/ 同步发起方:test02 同步目录:/opt/so ...

  2. linux机器之间拷贝和同步文件命令

    1 不同机器拷贝文件 scp 文件     登录用户@机器IP:/目录/子目录 scp filename test@10.20.130.202:/home/test/ 2 文件[夹]同步 rsync ...

  3. Linux 之 rsync实现服务器的文件同步

    rsync实现服务器的文件同步 参考文献链接: 一.rsync实现负载均衡集群文件同步,搭建线上测试部署环境 二.rsync. 三.rsync常见错误. 四.rsync 安装使用详解. 环境部署: 服 ...

  4. linux使用rsync+inotify-tools+ssh实现文件实时同步

    假设某服务器架构中有两台web服务器(IP为192.168.1.252和192.168.1.254),一台代码更新发布服务器(IP为192.168.1.251),需要同步的目录是/data/www/, ...

  5. Linux下快速拷贝单个大文件的秘诀

    #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <stdlib.h> ...

  6. linux命令:拷贝命令家族(cp、scp、rsync)

    Linux命令中:rsync和cp之间的区别 - 小 楼 一 夜 听 春 雨 - 博客园https://www.cnblogs.com/kex1n/p/7008178.html cp,scp,rsyn ...

  7. Windows Linux 之间rsync同步CODE文件

    Windows Linux 之间rsync同步CODE文件 一.环境Windows:OS:Microsoft Windows Web Server 2008 SP1IP:192.168.88.197 ...

  8. Linux拷贝U盘文件(命令行)

    Linux系统有的有界面,有的没有只要命令窗口,因此导入外部文件就变得困难,没有可视化的方便. 这里通过挂载u盘进行文件拷贝. 首先挂载u盘:这里以centos为例 1.进入命令行模式下,输入命令 s ...

  9. pscp 命令---windows和linux之间互相拷贝文件的工具

    pscp -r d:\cc root@10.0.0.8:/root/test copy d:\cc content recursively into the /root/test, contains ...

随机推荐

  1. cmake 头文件 库文件 链接库

    原文地址:http://www.cnblogs.com/binbinjx/p/5626916.html 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_direct ...

  2. 8.15jsp document 头部声明 区别

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 如何让编译器实现struts2的xml提示

    首先,选择pereference--->搜索xml 找到xml Catalog 点击右侧的add添加 下载好对应的dtd文档,然后在本地的WEB-INF下建立一个dtd文件夹,将dtd拷入. A ...

  4. Android基础之使用Fragment控制切换多个页面[转]

    Android官方已经提供了Fragment的各种使用的Demo例子,在我们SDK下面的API Demo里面就包含了Fragment的各种使用例子,需要看Demo的朋友,直接看API Demo那个程序 ...

  5. MySQL性能调优与架构设计——第 15 章 可扩展性设计之Cache与Search的利用

    第 15 章 可扩展性设计之Cache与Search的利用 前言: 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为 ...

  6. ZOJ2481 Unique Ascending Array 2017-04-18 23:08 33人阅读 评论(0) 收藏

    Unique Ascending Array Time Limit: 2 Seconds      Memory Limit: 65536 KB Given an array of integers ...

  7. ACL授权实例

    上一篇关于ACL的文章中:位运算实现ACL授权与认证过程的原理解析,我们学习了通过位运算实现ACL授权与认证的原理核心,今天我们一起来看授权的实例. 实现的功能很简单:打开授权界面时,加载已授权信息. ...

  8. [IOS] 详解图片局部拉伸 + 实现图片局部收缩

    (图为微信首页右上角『+』效果) 当初还在开发WP7的时候,从IOS同事那边了解到类似微信以上功能的实现. Item条数不同,总高度也不同,这就需要将背景图片进行局部拉伸到响应的高度,并且保持上方的三 ...

  9. 教程-Delphi调用百度地图API(XE8+WIN7)

    unit U_map; interface //---------------------------------------------------// //----------COPY BY 无言 ...

  10. LeetCode135:Candy

    题目: There are N children standing in a line. Each child is assigned a rating value. You are giving c ...