linux parallel rsync 拷贝N多文件

先来个对比图看一下, 左边图是普通 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/{}‘
时间: 2024-08-04 22:22:42

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

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

1 不同机器拷贝文件 scp 文件     登录用户@机器IP:/目录/子目录 scp filename [email protected]10.20.130.202:/home/test/ 2 文件[夹]同步 rsync 问题[网友提出的] linux的值拷贝某一个或某几个子目录的命令怎么写?如 /project下有好几个目录,/project/aaa  /project/ccc /project/ddd .... 我想把 project/aaa 复制到 /tmp目录下, project这个目

利用Putty从linux服务器上拷贝日志log文件到本地

打开Putty,输入欲访问的主机名或IP    例如:qtstgfs2job01.appnet.atpco.org  2.登陆 ,默认SSH  端口22 3.输入用户名,密码 4.转到log文件夹(命令:cd /log ) 5.查看所有日志文件 (命令:ls -a) 6.进入命令行,进入到Putty安装目录cd C:\Program Files (x86)\PuTTY 7.拷贝文件 命令: pscp [email protected]:/log/qtstgfs2job01_GfsLoad.log

windows系统和Linux系统之间拷贝文件攻击--pscp

putty secure copy == pscp,是putty提供的文件传输攻击,通过ssh两件,在两台机器之间安全传输文件 获取pscp工具:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,将.exe文件放在windows的system32文件夹下,或者自己设置环境变量.然后在dos命令窗口下即可直接调用. -r 复制目录下所有文件 -l 对方机器(Linux)用户名(root) -pw 密码 使用方法: 1.本

linux scp远程拷贝文件及文件夹

linux scp远程拷贝文件及文件夹,需要的朋友可以参考下 1.拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下 代码如下: scp -r /home/administrator/test/ [email protected]:/root/ 2.拷贝单个文件至远程主机 代码如下: scp /home/administrator/Desktop/old/driver/test/test.txt [email protected

linux下rsync+inotify实现服务器之间文件实时同步

先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所

Linux系统之间拷贝文件的技巧总结

日常工作中需要经常从远程或本地服务器拷贝/移动大量文件.遇到文件比较多比较散的时候速度较慢,所以在想有没有较快的方式.经过搜罗.整理.验证,大概有以下几种. 首先,无论本地还是远程,需要移动或拷贝的文件较多且都不太大时,用cp命令和mv命令效率较低,可以先使用tar工具对将要拷贝/移动的内容进行打包/压缩,之后再进行拷贝/移动,最后再解包/解压缩. 另外,也是很关键的一个技巧,即,不必在tar打包/压缩完毕之后再进行拷贝,解包/解压缩,可以通过管道一边打包/压缩另一边执行拷贝解包/解压缩. 比如

linux下rsync文件同步配置详解

介绍 rsync(remote sync)是unix及类unix平台下的数据镜像备份软件,它不像FTP那样需要全备份,rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率 rsync主要分为三个配置文件,分别是rsyncd.conf(主配置文件),rsyncd.secrets(密码文件),rsyncd.motd(服务器信息文件) ? 环境 centos7 IP:192.168.10.130?? 作为rsync服务器 centos7 IP:192.168.10.132? 作为r

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

Linux系统有的有界面,有的没有只要命令窗口,因此导入外部文件就变得困难,没有可视化的方便. 这里通过挂载u盘进行文件拷贝. 首先挂载u盘:这里以centos为例 1.进入命令行模式下,输入命令 sudo -i,获取root权限. 2.mkdir /usb   //创建一个目录,用于挂载U盘 3.fdisk -l //查看系统中挂载的U盘,若系统有一块硬盘sdb1 代表你的U盘,/dev/sdb1表明机器已识别U盘. 4.mount /dev/sdb1 /usb //把U盘/dev/sdb1挂

Linux下利用rsync实现多服务器文件同步

windows做为文件服务器,使用rsync的windows服务版本,然后配置好就可以了.需要的朋友可以参考下. windows做为文件服务器,使用rsync的windows服务版本:cwRsyncServer 下载地址:http://rsync.samba.org 安装过程要设置用于系统服务的帐号和密码,可以默认. 注:此帐号用于启用crsync server服务,需要分配给帐号对要同步文件的相应权限,否则无法操作被同步的文件. 目标:多服务器文件同步 环境:2台CentOS5.6 Web端: