Rsync 文件同步原理及部署

1.Rsync命令格式

本地:  rsync [OPTION...] SRC... [DEST] 

通过shell远程访问:  

 拉取: rsync [OPTION...] [USER@]HOST:SRC... [DEST]  

 推送: rsync [OPTION...] SRC... [USER@]HOST:DEST 

通过rsync守护进程访问:  

 拉取: rsync [OPTION...] [USER@]HOST::SRC... [DEST]          

     rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]  

 推送: rsync [OPTION...] SRC... [USER@]HOST::DEST          

     rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

架构 a为主 b为备份机

A 主 192.168.1.146    主的数据同步到从服务器的备份目录

B 从 192.168.1.146 
2、下载rsync软件
[root@A 132 ~]# cd /usr/local/src/
[root@A 132 src]# wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
                  
3.解压包
[root@A src]# tar zxvf rsync-3.1.2.tar.gz
 
5.创建程序安装目录,并编译安装
[root@A src]# cd rsync-3.1.2
[root@A rsync-3.1.2]# mkdir /usr/local/rsync
[root@A rsync-3.1.2]# ./configure --prefix=/usr/local/rsync
[root@A rsync-3.1.2]# make && make install
 
6.配置环境变量
vim /etc/profile 

export PATH=$PATH:/usr/local/srync/bin

source /etc/profile (重新加载)

 7.建立软连接
[root@A ~]# ln -s /usr/local/rsync/bin/rsync /usr/bin/rsync
 
8.查看当前版本
[root@A ~]# rsync --version

rsync  version 3.1.2  protocol version 31

二、配置

1配置

vim /etc/rsyncd.conf

uid = rsync

gid = rsync
port = 873
use chroot = on
max connections = 10
timeout = 120
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log

[bakup]
path = /www
comment = www file
ignore errors
read only =no
list = false
hosts allow = 192.168.0.0/24
auth users = rsync_bakup  #用户名

secrets file = /etc/rsyncd.password  #密码文件



2.创建密码文件
内容 为用户名:密码        rsync_bakup:Rsync123  #密码

B客户端也需要做


vim /etc/rsyncd.password  内容为(密码 只有密码  ) Rsync123
chmod 600 /etc/rsyncd.password

3.创建Rsync server服务启动的系统账户
[root@kry132 ~]# useradd rsync -M -s /bin/nologin

4.启动服务
A客户端启动守护进程
[root@kry132 ~]# rsync --daemon 

通过shell模式 

rsync -av www 192.168.1.147:www  #同步www文件夹到147的www需要输入用户名

B客户端  

/usr/local/rsync/bin/rsync -vzrtopg --delete [email protected]::www /www/test --password-file=/etc/rsyncd.password
解释

    /usr/bin/rsync 
        -vzrtopg  # z 压缩 r 对子目录递归处理
--delete  #以服务器端为基准进行同步
        --progress 用于显示数据同步的过程
--exclude "*access*" 用于排除不需要传输的文件类型
        --exclude "debug*" 
[email protected]::ixdba 
#表示对服务器的192.168.1.147 中的ixdba模块进行同步 指定备份的模块
backup用这个用户进行备份
/ixdba.net 用于指定在客户机上的存放路径 
--password-file=/etc/rsyncd.password

查看进程
       ps axu | grep rsync

A 132服务

B  103 客户端 

103 147 推数据到147 
rsync -avzP test.txt [email protected]::bakup --password-file=/etc/rsyncd.password

        从服务器拉取
/usr/local/rsync/bin/rsync -av   [email protected]::bakup /www --password-file=/etc/rsyncd.password
rsync -avzP                      [email protected]::bakup /www --password-file=/etc/rsyncd.password

猜你喜欢

转载自blog.csdn.net/z13615480737/article/details/80928220