介绍html
rsync命令是一个远程数据同步工具,可经过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不一样部分,而不是每次都整份传送,所以速度至关快。 rsync是一个功能很是强大的工具,其命令也有不少功能特点选项,咱们下面就对它的选项一一进行分析说明。web
经常使用场景一算法
无密码同步vim
一、安装rsync服务器
[root@localhost /]# yum -y install rsync
二、新建rsyncd.conf文件ssh
vim /etc/rsyncd.conf #This is the rsync daemon configuration #global settings pid file = /var/run/rsyncd.pid port = 873 lock file = /var/run/rsyncd.lock log file = /var/log/rsync.log gid = root uid = root #module settings [share_data] #共享名称 path = /web/rsync/share_data #共享路径 use chroot = no max connections = 15 read only = yes write only = no list = no ignore errors = yes timeout = 120 保存
三、执行命令工具
/usr/bin/rsync --daemon mkdir -p /web/rsync/share_data #新建共享目录,实例中直接输入要共享文件的就好,可省去次步
客户端oop
一、安装rsyncui
[root@localhost /]# yum -y install rsync
二、输入命令进行同步spa
rsync -avz root@192.168.1.98:/var/space /home/hadoop/share_data
↓ ↓ ↓
服务器IP 配置文件共享目录名 客户端收纳目录
三、限制流量同步
限制流量同步:
rsync -avz --bwlimit=50 --progress root@192.168.1.98::share_data /home/hadoop/share_data
经常使用场景二
有密码同步
服务端配置
一、配置文件修改
vim /etc/rsyncd.conf #This is the rsync daemon configuration #global settings pid file = /var/run/rsyncd.pid port = 873 lock file = /var/run/rsyncd.lock log file = /var/log/rsync.log gid = root uid = root #module settings [auth_data] path = /web/rsync/auth_data use chroot = no max connections = 15 read only = yes write only = no list = no ignore errors = yes timeout = 120 auth users = hadoop secrets file = /etc/rsyncd.passwd
三、执行命令
echo "hadoop:password123" > /etc/rsyncd.passwd chmod 600 /etc/rsyncd.passwd mkdir -p /web/rsync/auth_data
客户端配置
一、保存密码
echo "password123" > /home/hadoop/rsyncd.passwd chmod 600 /home/hadoop/rsyncd.passwd
二、远程同步
rsync -avz --progress --password-file=/home/hadoop/rsyncd.passwd hadoop@192.168.1.98::auth_data /home/hadoop/auth_data 或者是: export RSYNC_PASSWORD="password123" rsync -avz --progress hadoop@192.168.1.98::auth_data /home/hadoop/auth_data
经常使用场景三
写入同步
服务端
一、配置文件
vim /etc/rsyncd.conf #global settings pid file = /var/run/rsyncd.pid port = 873 lock file = /var/run/rsyncd.lock log file = /var/log/rsync.log gid = root uid = root #module settings [write_data] path = /web/rsync/write_data use chroot = no max connections = 15 read only = no list = no ignore errors = yes timeout = 120 auth users = hadoop secrets file = /etc/rsyncd.passwd 保存
二、执行命令
mkdir -p /web/rsync/write_data
客户端
一、输入同步命令
echo "123" > /home/hadoop/write_file export RSYNC_PASSWORD="password123" rsync -avz --progress --delete /home/hadoop/write_file hadoop@192.168.1.98::write_data
经常使用场景四
限定IP或网段
服务端
一、配置文件修改
#global settings pid file = /var/run/rsyncd.pid port = 873 lock file = /var/run/rsyncd.lock log file = /var/log/rsync.log gid = root uid = root #module settings [write_data] path = /web/rsync/write_data use chroot = no max connections = 15 read only = no list = no ignore errors = yes timeout = 120 auth users = hadoop secrets file = /etc/rsyncd.passwd hosts allow = 192.168.2.32 192.168.1.0/24
常见情景例子
指定端口
rsync -avz --port=8081 --progress /home/hadoop/auth_data hadoop@192.168.1.98::auth_data
限速
rsync --bwlimit=100 -avz --progress /home/hadoop/auth_data hadoop@192.168.1.98::auth_data
限速100kb/s同步数据
Rsync经过SSH传输
rsync -e "ssh -p 22" --progress /home/hadoop/auth_data hadoop@192.168.1.98::auth_data
本文参考:ggjucheng
更多命令参考