前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rsync配置

rsync配置

原创
作者头像
陈雷雷
修改2019-10-08 12:15:38
2.3K0
修改2019-10-08 12:15:38
举报
文章被收录于专栏:Linux学习和使用Linux学习和使用

TOC

主机名

内网IP

公网IP

rsync

192.168.0.164

√ √

nfs

192.168.0.161

√ √

bak

192.168.0.162

mysql

192.168.0.163

lib01

192.168.0.155

lib02

192.168.0.156

mm01 jumpserver

192.168.0.158

47.92.175.186

web01

192.168.0.157

web02

192.168.0.159

web03

192.168.0.160

rsync -- 192.168.0.164

rsync介绍

rsync可以实现远程数据快速复制,备份,这个服务类似于scp命令,但它的功能远远超出scp的范畴

rsync可以实现增量备份,全量备份功能.这取决于她的 quick check (快速检查)算法

服务端部署rsync (守护进程方式)

  1. 检查是否安装

rpm -qa rsync

[root@rsync ~]# rpm -qa rsync rsync-3.1.2-6.el7_6.1.x86_64

如果没有安装可以使用 yum install rsync -y

  1. 编写配置文件
代码语言:txt
复制
   vim /etc/rsyncd.conf

解释:

---------------------------------

代码语言:javascript
复制
   uid = rsync                        #  rsync用户
   gid = rsync                        #  rsync组
   use chroot = no                    #  安全配置
   max connections = 200              #  最大连接数
   timeout = 300                      #  连接超时时间 (单位: s)
   pid file = /var/run/rsyncd.pid     #  pid文件
   lock file = /var/run/rsync.lock    #  锁文件
   log file = /var/log/rsyncd.log     #  日志文件
   #hosts deny = 0.0.0.0/32           #  拒绝的IP段
   auth users = chenleilei            #  允许连接rsync服务的账号(非系统账号)
   secrets file = /etc/rsync.password #  密码验证文件
   backup                           #  模块名 可以随意修改
   comment = "backup dir by oldboy"   #  连接的 欢迎语 没什么用
   path = /backup                     #  备份的目录
   ignore errors                      #  忽略个别传输失败的文件,不影响传输任务
   hosts allow = 192.168.0.0/24       #  允许的IP段
   list = false                       #  true:禁止写入 flase=允许写入
   read only = false                  #  true:禁止写入 flase=允许写入
   fake super = yes                   #  !!!重要!!! 在cento7 中需要加上此行,centos6可以忽略

---------------------------------

配置:

代码语言:javascript
复制
   uid = rsync
   gid = rsync
   use chroot = no
   max connections = 200 
   timeout = 300 
   pid file = /var/run/rsyncd.pid 
   lock file = /var/run/rsync.lock
   log file = /var/log/rsyncd.log
   #hosts deny = 0.0.0.0/32
   auth users = chenleilei
   secrets file = /etc/rsync.password
   backup
   comment = "backup dir by oldboy"
   path = /backup
   ignore errors
   hosts allow = 192.168.0.0/24
   list = false
   read only = false
   fake super = yes

  1. 创建备份目录
代码语言:txt
复制
 mkdir -p /backup
 chown -R rsync.rsync /backup

  1. 添加传输的认证用户密码文件 /etc/rsync.password
代码语言:txt
复制
 echo "chenleilei:123" >/etc/rsync.password
 chmod 600 /etc/rsync.password

  1. 权限修改
代码语言:txt
复制
root@rsync ~chmod 600 /etc/rsync.password
root@rsync ~# ls -la /etc/rsync.password
-rw------- 1 root root 15 Aug 14 04:13 /etc/rsync.password
root@rsync ~# cat /etc/rsync.password
chenleilei:123

  1. 创建运行用户
代码语言:txt
复制
   useradd rsync -s /sbin/nologin -M
   root@rsync ~# id rsync
   uid=1000(rsync) gid=1000(rsync) groups=1000(rsync)

  1. 启动rsync
代码语言:txt
复制
root@rsync ~# rsync --daemon
   检查端口:
   root@rsync ~# netstat -lntup |grep rsync
   tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      16526/rsync
   tcp6       0      0 :::873                  :::*                    LISTEN      16526/rsync

客户端部署

代码语言:txt
复制
1. 确认软件是否安装
[root@mm01 ~]# rpm -qa rsync
rsync-3.1.2-6.el7_6.1.x86_64

2. 已安装配置
[root@mm01 ~]# echo "123" >client.pass
[root@mm01 ~]# chmod 600 client.pass

2.1 未安装配置
[root@mm01 ~]# yum install -y rsync
[root@mm01 ~]# echo "123" >client.pass
[root@mm01 ~]# chmod 600 client.pass

测试传送

非密钥传输:

代码语言:txt
复制
rsync -avz  /etc/rsyncd.conf chenleilei@192.168.0.164::backup

密钥传输:

代码语言:txt
复制
rsync -avz  /etc/hosts chenleilei@192.168.0.164::backup --password-file=/root/client.pass

注意: 密钥所有者权限可以是 root.root 但文件权限必须是 600,这也是客户端部署时为什么要

chmod 600 client.pass 的原因!

rsync重要参数

--delete 无差异同步

代码语言:txt
复制
将本地数据无差异同步到远程客户端,如果远程客户端同步的文件夹有文件也会一并被清除
此命令需要谨慎使用.一旦出错,无法恢复

语法:
rsync -avz --delete /etc/rsyncd.conf chenleilei@192.168.0.164::backup

--exclude=file 排除指定文件

代码语言:txt
复制
在推送时,排除指定文件的推送
[root@mm01 ceshi]# rsync -avz chenleilei@192.168.0.164::backup/888/  /var/log/  --exclude=2.txt --password-file=/root/client.pass
receiving incremental file list
./
1.txt
3.txt

2.txt被排除

rsync错误集锦

错误1:

@ERROR: Unknown module 'backup'

rsync error: error starting client-server protocol (code 5) at main.c(1648) sender=3.1.2

代码语言:txt
复制
网络原因无法传输,可能是当前主机IP不在允许的范围

解决: 检查服务器端 /etc/rsyncd.conf 中的 "hosts allow = "  配置

错误2:

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) sender=3.1.2

代码语言:txt
复制
配置参数问题: fake super = yes 
在centos6 中 这行配置不加 也可以成功,但是在centos 7中如果没有此行配置,则会报以上错误

解决: 在配置文件中添加 fake super = yes 

错误3:

failed to create pid file /var/run/rsyncd.pid: File exists

代码语言:txt
复制
服务已启动,再次启动会报这个错
可以通过 netstat -lntup 来查看服务端口 873 是否存在

错误4:

rsync: failed to connect to 192.168.0.164 (192.168.0.164): Connection refused (111)

rsync error: error in socket IO (code 10) at clientserver.c(125) sender=3.1.2

代码语言:txt
复制
这可能是服务没有启动导致的原因,需要检查远程rsync服务是否存在.

错误5:

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) sender=3.1.2

代码语言:txt
复制
这个报错,除了上面说的 fake super =yes 没有配置 还有可能是 权限不对
需要检查备份文件夹的权限是不是 rsync 所有者和所有主
[root@rsync /]# ll /backup 
total 4
drwxr-xr-x 10 root root 4096 Aug 14 17:27 log     #如果是root 可能就会出现问题,请改为rsync权限

解决办法:
chown -R rsync.rsync /backup

错误6

rsync 防火墙问题:

1565784168698.png
1565784168698.png

错误7

1565784239376.png
1565784239376.png

错误8

1565784286483.png
1565784286483.png

错误9:

1565784330026.png
1565784330026.png

错误10:

1565784375374.png
1565784375374.png

rsync的使用

rsync 客户端拉取 服务器的 backup目录中文件到本地目录

代码语言:txt
复制
rsync -avz chenleilei@192.168.0.164::backup /var/log/ --password-file=/root/client.pass

rsync 客户端拉取 服务器的 backup目录到本地 /var/log 目录

代码语言:txt
复制
rsync -avz chenleilei@192.168.0.164::backup /var/log/ --password-file=/root/client.pass

rsync 客户端拉取 服务器的 backup目录中的文件 不含 backup目录到本地 /var/log 目录

代码语言:txt
复制
rsync -avz chenleilei@192.168.0.164::backup /var/log/ --password-file=/root/client.pass

陈雷雷blog:

https://www.chenleilei.net

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • rsync -- 192.168.0.164
    • rsync介绍
      • 服务端部署rsync (守护进程方式)
      • ---------------------------------
      • ---------------------------------
        • 客户端部署
          • 测试传送
            • 非密钥传输:
              • 密钥传输:
                • rsync重要参数
                  • --delete 无差异同步
                    • --exclude=file 排除指定文件
                      • rsync错误集锦
                        • 错误1:
                          • 错误2:
                            • 错误3:
                              • 错误4:
                                • 错误5:
                                  • 错误6
                                    • 错误7
                                      • 错误8
                                        • 错误9:
                                          • 错误10:
                                            • rsync的使用
                                              • rsync 客户端拉取 服务器的 backup目录中文件到本地目录
                                                • rsync 客户端拉取 服务器的 backup目录到本地 /var/log 目录
                                                  • rsync 客户端拉取 服务器的 backup目录中的文件 不含 backup目录到本地 /var/log 目录
                                                    • 陈雷雷blog:
                                                    相关产品与服务
                                                    弹性公网 IP
                                                    弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
                                                    领券
                                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档