linux下rsync学习笔记

一、rsync简介
1. rsync介绍
rsync(remote synchronize)是Liunx/Unix下的一个远程数据同步工具。它可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync算法(差分编码)以减少数据的传输。

rsync算法并不是每一次都整份传输,而是只传输两个文件的不同部分,因此其传输速度相当快。

除此之外,rsync可拷贝、显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。

2. 认证方式
rsync有两种常用的认证方式,一种是rsync-daemon方式,另外一种是ssh方式,习惯使用ssh方式。

(1)rsync-daemon认证
rsync在rsync-daemon认证方式下,默认监听TCP的873端口。

rsync-daemon认证方式是rsync的主要认证方式,这个也是我们经常使用的认证方式。并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。

注意:
rsync-daemon认证方式,需要服务器和客户端都安装rsync服务,并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。
客户端启动不启动rsync服务,都不影响同步的正常进行。
(2)ssh认证
rsync在ssh认证方式下,可通过系统用户进行认证,即在rsync上通过ssh隧道进行传输,类似于scp工具,此时同步操作不在局限于rsync中定义的同步文件夹。

注意:

ssh认证方式, 不需要服务器和客户端配置rsync配置文件,只需要双方都安装rsync服务,并且也不需要双方启动rsync。

若rsync服务端SSH为标准端口,此时rsync使用方式如下:

# 将本机(10.7.2.230)上/root目录及目录下的文件同步到服务器10.7.2.231上的/root/backup目录下
# 在10.7.2.230上执行以下命令:
rsync -avuz /root root@10.7.2.231:/root/backup
# 带密码执行
sshpass -p '231机器root的密码' rsync -avuz /root root@10.7.2.231:/root/backup
  • 若rsync服务端SSH为非标准端口,可通过rsync的-e参数进行端口指定(如ssh端口号为10022),使用方式如下:
# 将本机(10.7.2.230)上/root目录及目录下的文件同步到服务器10.7.2.231上的/root/backup目录下
# 在10.7.2.230上执行以下命令:
rsync -avuz /root -e 'ssh -p10022' root@10.7.2.231:/root/backup
二、rsync安装
1. 源码安装
#(1)下载
wget https://download.samba.org/pub/rsync/src/rsync-3.2.3.tar.gz

#(2)解压并安装
tar -xvf rsync-3.2.3.tar.gz

#(3)编译安装
# 源码安装rsync时,其编译时所需要的gcc库文件尽量提前安装完毕
# 默认安装到/usr/local/目录下
./configure
make &&make install

#(4)设置开机启动
echo “/usr/local/bin/rsync --daemon -config=/etc/rsyncd.conf” >>/etc/profile

三、rsync使用
由于ssh方式不需要进行配置文件配置,只需要像scp一样执行命令即可,因此本文主要介绍该方式的使用,rsync-daemon方式可参考其他教程。

例如需求为:将10.7.2.230上的/root目录文件同步到10.7.2.231上的/root/backup下,可通过以下两种方式来实现:

将本地文件推送(上传)到远端

# 在本地服务器上执行
# rsync  命令参数  源文件目录  目的目录
rsync [OPTION] SRC  [USER@]HOST:DEST

# 示例:在10.7.2.230上执行rsync,将/root目录文件同步到远程主机(10.7.2.231的/root/backup)上
rsync -avuz /root root@10.7.2.231:/root/backup
  • 将远端文件拉(下载)到本地
# rsync  命令参数    源文件目录  目的目录
# rsync  [OPTION]  [USER@]HOST:SRC  [DEST]

# 示例:主机10.7.2.231上执行rsync,将10.7.2.230上/root下的目录文件下载到主机10.7.2.231的/root/backup上
rsync -auvz root@10.7.2.230:/root /root/backup  

#注意:
源目录加了斜线,效果就是将该目录下的内容传输到目标目录下
源目录不加斜线,效果就是将该目录传输到目标目录下
目标目录如果不存在,会自动创建目标目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值