共计 3033 个字符,预计需要花费 8 分钟才能阅读完成。
1、什么是 rsync
Rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 使用所谓的“Rsync 算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
2、rsync 服务器端架设
2.1:rsync 下载 https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
cd /home/software
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
tar -zxvf rsync-3.1.2.tar.gz
2.2:安装 rsync
cd rsync-3.1.2
./configure –prefix=/usr/local/rsync
make
make install
2.3:配置 rsync-server
2.3.1:配置 rsyncd.conf(手动创建 touch /usr/local/rsync/rsyncd.conf)
vim /usr/local/rsyncd.conf
### 全局参数 ###
port=873
motd file=/usr/local/rsync/rsyncd.motd
log file=/usr/log/rsyncd.log
pid file=/var/run/rsyncd.pid
### 模块参数 ###
[hometest]
path=/home/test
use chroot=true
uid=0
gid=0
read only=false
exclude=/readme.txt /runtime
auth users=markdeng
secrets file = /usr/local/rsync/rsyncd.secrets
2.3.2:配置 rsyncd.secrets(手动创建 touch /usr/local/rsync/rsyncd.secrets)// 此文件权限必须设置:600
vim /usr/local/rsync/rsyncd.secrets
markdeng:123
dxh:321
chmod 600 /usr/local/rsync/rsyncd.secrets
2.3.3:配置 rsyncd.motd(手动创建 touch /usr/local/rsync/rsyncd.motd )
vim /usr/local/rsync/rsyncd.motd
welcome use rsync service
2.3.4:启动 rsyncd
/usr/bin/rsyncd –daemon –config=/usr/local/rsync/rsyncd.conf
2.3.5:查看 rsyncd 进程
ps aux | grep rsyncd
3、rsync 客户端同步数据(通过 rsync 命令)
3.1:命令语法
1. rsync [OPTION]… SRC [SRC]… [USER@]HOST:DEST
2. rsync [OPTION]… [USER@]HOST:SRC DEST
3. rsync [OPTION]… SRC [SRC]… DEST
4. rsync [OPTION]… [USER@]HOST::SRC [DEST]
5. rsync [OPTION]… SRC [SRC]… [USER@]HOST::DEST
6. rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]
rsync 有六种不同的工作模式:
1. 拷贝本地文件;当 SRC 和 DES 路径信息都不包含有单个冒号 ”:” 分隔符时就启动这种工作模式。
2. 使用一个远程 shell 程序(如 rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当 DST 路径地址包含单个冒号 ”:” 分隔符时启动该模式。
3. 使用一个远程 shell 程序(如 rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当 SRC 地址路径包含单个冒号 ”:” 分隔符时启动该模式。
4. 从远程 rsync 服务器中拷贝文件到本地机。当 SRC 路径信息包含 ”::” 分隔符时启动该模式。
5. 从本地机器拷贝文件到远程 rsync 服务器中。当 DST 路径信息包含 ”::” 分隔符时启动该模式。
6. 列远程机的文件列表。这类似于 rsync 传输,不过只要在命令中省略掉本地机信息即可
3.2:rsync 中的参数
-r 是递归
-l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和 - P 有点关系,自己试试。可以看文档;
-e ssh 的参数建立起加密的连接。
- u 只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
–progress 是指显示出详细的进度情况
–delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
–password-file=/password/path/file 来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。
3.3:实例操作如下
方法一(手动输入密码):rsync -avtop markdeng@127.0.0.1::hometest /home/test2
方法二(自动输入密码):rsync -avtop markdeng@127.0.0.1::hometest /home/test2 –password-file=/home/pwd.secrets /home/pwd.secrets 这里是客户端存于 markdeng 的密码 权限同样是:600
RSync 实现文件备份同步详解 http://www.linuxidc.com/Linux/2014-09/106967.htm
利用 inotifywait 监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm
利用 inotify+rsync 实现 Linux 文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm
inotify-tools+rsync 实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm
rsync 同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm
CentOS 6.5 下 Rsync 远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm
Linux 文件夹对比并提取的差分文件技巧 -rsync 的妙用 http://www.linuxidc.com/Linux/2016-02/128307.htm
Rsync 的详细介绍 :请点这里
Rsync 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-09/135120.htm