介绍

  rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。

  常用场景一

无密码同步

1、安装rsync

[root@localhost /]# yum -y install rsync

2、新建rsyncd.conf文件

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
保存

3、执行命令

/usr/bin/rsync --daemon
mkdir -p /web/rsync/share_data #新建共享目录,实例中直接输入要共享文件的就好,可省去次步

客户端

1、安装rsync

[root@localhost /]# yum -y install rsync

2、输入命令进行同步

rsync -avz root@192.168.1.98:/var/space /home/hadoop/share_data
↓ ↓ ↓
服务器IP 配置文件共享目录名 客户端收纳目录

3、限制流量同步

限制流量同步:
rsync -avz --bwlimit=50 --progress root@192.168.1.98::share_data /home/hadoop/share_data

  常用场景二

有密码同步

服务端配置

1、配置文件修改

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

3、执行命令

echo "hadoop:password123" > /etc/rsyncd.passwd
chmod 600 /etc/rsyncd.passwd
mkdir -p /web/rsync/auth_data

客户端配置

1、保存密码

echo "password123" > /home/hadoop/rsyncd.passwd
chmod 600 /home/hadoop/rsyncd.passwd

2、远程同步

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

  常用场景三

写入同步

服务端

1、配置文件

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 保存

2、执行命令

mkdir -p /web/rsync/write_data

客户端

1、输入同步命令

echo "" > /home/hadoop/write_file
export RSYNC_PASSWORD="password123"
rsync -avz --progress --delete /home/hadoop/write_file hadoop@192.168.1.98::write_data

  常用场景四

限定IP或网段

服务端

1、配置文件修改

#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

更多命令参考

客户端 https://download.samba.org/pub/rsync/rsync.html

服务端 https://download.samba.org/pub/rsync/rsyncd.conf.html

最新文章

  1. Java IO7:管道流、对象流
  2. sublime 3 快捷键
  3. 【转载】VMware虚拟机修改硬盘容量大小
  4. C# on Visual Studio Code
  5. Gearman任务分布系统部署windows平台_使用Cygwin
  6. Win2D 官方文章系列翻译 - 避免内存泄漏
  7. webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器
  8. 24-语言入门-24-cigarettes
  9. Update files embedded inside CAB file.
  10. jquery倒计时(仿团购)转至 http://justcoding.iteye.com/blog/2210962
  11. [转]Python tips: 什么是*args和**kwargs?
  12. nginx读取图片没有权限
  13. Linux驱动之一个简单的输入子系统程序编写
  14. Apache Beam: 下一代的大数据处理标准
  15. 使用Python自带difflib模块进行文件内容差异对比
  16. C++ socket 网络编程 简单聊天室
  17. gbk文件转为utf8文件
  18. linux下的一些操作命令
  19. 试水jdk8 stream
  20. Bootstrap 3之美05-排版、Button、Icon、Nav和NavBar、List、Table、Form

热门文章

  1. Distributed Management Task Force----分布式管理任务组
  2. MVC Controller构造器注入
  3. word2vec学习 spark版
  4. Html.Partial
  5. NameNode和JobTracker的网络接口
  6. bzoj4664: Count
  7. POJ 3750 小孩报数问题 (线性表思想 约瑟夫问题 数组模拟运算的 没用循环链表,控制好下标的指向就很容易了)
  8. oracle:os认证用户登录测试
  9. NSArray是强引用容器
  10. Ordered Fractions