楼主: yushouhao
38 0

**rsync守护进程部署方式** [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2018-5-10
最后登录
2018-5-10

楼主
yushouhao 发表于 2025-11-19 16:53:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

环境准备

服务器

  • IP地址: 11.0.1.192
  • 主机名: backup

客户端

  • IP地址: 11.0.1.193
  • 主机名: nfs01
  • IP地址: 11.0.1.198
  • 主机名: web01

rsync守护进程部署方式

rsync守护进程客户端配置

  1. 下载并安装所需软件
    [root@backup ~]#rpm -qa | grep rsync
    [root@backup ~]#yum -y install rsync
  2. 编辑配置文件
    [root@backup ~]# man rsync
    [root@backup ~]# vim /etc/rsyncd.conf
    ?
    uid = rsync ? ? ? ? ? ? ?  #指定管理备份目录的用户 远端命令使用rsync访问共享目录
    gid = rsync ? ? ? ? ? ? ?  #指定管理备份目录的用户组
    use chroot = no ? ? ? ? ?  #和安全相关的配置
    max connections = 200 ? ?  #最大连接数 只能同时有200个客户端连接到备份服务器
    timeout = 300 ? ? ? ? ? ?  #超时时间(单位秒)(不进行备份多长时间断开)
    pid file = /var/run/rsyncd.pid  #记录进程号码信息(1.让程序快速停止进程 2.判断一个服务是否正在运行)
    lock file = /var/run/rsync.lock ? ? ? ? ?  #锁文件
    log file = /var/log/rsyncd.log ? ? ? ? ? ? #rsync服务的日志文件,用于排错分析问题,显示出错信息
    fake super = yes         ? #在新版本中必须加这个
    ignore errors ? ? ? ? ?  #忽略错误程序
    read only = false ? ? ?  #是否只读(这里是假,表示能写入)指定备份目录可读可写
    list = false ? ? ? ? ? ? #使客户端可以查看服务端的模块信息
    hosts allow = 172.16.2.0/24 ? ? ?  #准许访问rsync服务器客户范围(白名单)
    #hosts deny = 0.0.0.0/32 ? ? ? ? ? #禁止访问rsync服务器客户范围(黑名单)
    auth users = rsync_backup ? ? ? ?  #不存在的用户,只用于认证(指定认证用户)
    #设置进行连接认证的密钥文件:
    secrets file = /etc/rsync.password ?  #认证时密钥文件(指定认证用户密码文件 用户名称:密码信息)
    #模块信息:
    [backup]
    comment = "backup"
    path = /backup/web ? ? ? #模块对应的位置(路径)(模块中配置参数,知道备份目录)
    ?
    ?
    ?
    rsync配置文件可直接粘贴至配置文件
    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
    fake super = yes
    ignore errors
    read only = false 
    list = false
    hosts allow = 172.16.1.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup 
    secrets file = /etc/rsync.password
    [backup]
    comment = "backup"
    path = /backup/web
    ?
    ?
    重启rsync服务
    [root@backup ~]# systemctl restart rsyncd
    查看rsync状态
    [root@backup ~]# systemctl status rsyncd
    ● rsyncd.service - fast remote file copy program daemon
     ? Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; disabled; vendor preset: disabled)
     ? Active: active (running) since Thu 2025-11-13 03:21:15 EST; 14s ago
     Main PID: 6989 (rsync)
     ? CGroup: /system.slice/rsyncd.service
     ? ? ? ? ? └─6989 /usr/bin/rsync --daemon --no-detach
    ?
    Nov 13 03:21:15 backup systemd[1]: Started fast remote file copy program daemon.
    查看rsync端口信息(默认873)
    [root@backup ~]# netstat -lntup | grep 873
    tcp ? ? ?  0 ? ?  0 0.0.0.0:873 ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? LISTEN ? ?  6989/rsync
    tcp6 ? ? ? 0 ? ?  0 :::873 ? ? ? ? ? ? ? ?  :::* ? ? ? ? ? ? ? ? ?  LISTEN ? ?  6989/rsync
    [root@backup ~]# ll /var/run/rsyncd.pid
    -rw-r--r-- 1 root root 5 Nov 13 03:21 /var/run/rsyncd.pid
    [root@backup ~]# cat /var/run/rsyncd.pid
    6989
    查看rsync的进程号
    [root@backup ~]# ps -ef | grep rsync
    root ? ? ? 6989 ? ?  1  0 03:21 ? ? ? ?  00:00:00 /usr/bin/rsync --daemon --no-detach
    root ? ? ? 7034 ? 6791  0 03:23 pts/0 ?  00:00:00 grep --color=auto rsync
    ?
  3. 创建rsync服务的虚拟用户
    创建一个rsync的虚拟用户,只被程序使用
    [root@backup ~]# useradd rsync -M -s /sbin/nologin
    [root@backup ~]# id rsync
    uid=1002(rsync) gid=1002(rsync) groups=1002(rsync)
  4. 生成备份服务认证密码文件
    给指定认证用户设置密码
    [root@backup ~]# echo "rsync_backup:qianqian123." > /etc/rsync.password
    [root@backup ~]# cat /etc/rsync.password
    rsync_backup:qianqian123.
    给指定认证用户密码文件设置权限
    [root@backup ~]# chmod 600 /etc/rsync.password
  5. 建立备份目录,并将该目录及其下所有文件的权限更改为rsync
    [root@backup ~]# mkdir /backup/web
    [root@backup ~]# chown -R rsync.rsync /backup/ ? ? ? #一定要将文件属主和属组改成rsync用户
  6. 启动rsync守护进程,并验证其是否成功运行
    [root@backup ~]# systemctl start rsyncd
    [root@backup ~]# systemctl enable rsyncd
    [root@backup ~]# systemctl status rsyncd

需掌握rsync守护进程的命名规则

Access via rsync daemon:
客户端做拉的操作:恢复数据
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
 ? ?  rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
客户端做推的操作:备份数据
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
      SRC:要推送备份数据信息
      [USER@]:指定认证用户信息
      HOST:指定远程主机的IP地址或者主机名称
      ::DEST备份服务器的模块信息
 ? ?  rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

rsync守护进程服务端配置(客户端视角)

  1. 在客户端创建一个安全文件
    [root@nfs01 ~]# echo "qianqian123." > /etc/rsync.password
    [root@nfs01 ~]# chmod 600 /etc/rsync.password
  2. 执行非交互式数据传输测试
    [root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@11.0.1.192::backup --password-file=/etc/rsync.password

案例: 使用rsync实现无差异同步

#推送方式实现无差异,以客户端为准,客户端有什么服务端就有什么?
[root@nfs01 ~]# rsync -avz  --delete  /lqq  rsync_backup@11.0.1.192::backup  --password-file=/etc/rsync.password
#客户端
[root@nfs01 lqq]# tree /lqq/
/lqq/
├── a
│?? ├── 1.txt
│?? ├── 2.txt
│?? └── 3.txt
├── b
│?? ├── 1.txt
│?? ├── 2.txt
│?? └── 3.txt
├── c
│?? ├── 1.txt
│?? ├── 2.txt
│?? └── 3.txt
└── exclude.txt
?
3 directories, 10 files
#服务端
[root@backup backup]# tree lqq/
lqq/
├── a
│?? ├── 1.txt
│?? ├── 2.txt
│?? └── 3.txt
├── b
│?? ├── 1.txt
│?? ├── 2.txt
│?? └── 3.txt
├── c
│?? ├── 1.txt
│?? ├── 2.txt
│?? └── 3.txt
└── exclude.txt
?
3 directories, 10 files
?
#拉取方式实现无差异,以服务端为准,服务端有什么客户端端就有什么?
[root@nfs01 ~]# rsync -avz  --delete ?  rsync_backup@11.0.1.192::backup /lqq/  --password-file=/etc/rsync.password
receiving incremental file list
deleting c/3.txt
deleting c/2.txt
deleting c/1.txt
deleting c/
deleting b/3.txt
deleting b/2.txt
deleting b/1.txt
deleting b/
deleting a/3.txt
deleting a/2.txt
deleting a/1.txt
deleting a/
deleting exclude.txt
./
hosts
11.0.1.193/
11.0.1.193/hosts
11.0.1.198/
11.0.1.198/hosts
?
sent 100 bytes  received 709 bytes  539.33 bytes/sec
total size is 963  speedup is 1.19
?
#客户端
[root@nfs01 lqq]# ll
total 4
drwxr-xr-x 2 1000 1000  19 Nov 17 07:54 11.0.1.193
drwxr-xr-x 2 1000 1000  19 Nov 17 07:54 11.0.1.198
-rw-r--r-- 1 root root 321 Nov 11 23:04 hosts
#服务端
[root@backup backup]# ll
total 4
drwxr-xr-x 2 rsync rsync  19 Nov 17 07:54 11.0.1.193
drwxr-xr-x 2 rsync rsync  19 Nov 17 07:54 11.0.1.198
-rw-r--r-- 1 rsync rsync 321 Nov 11 23:04 hosts
案例:rsync 的Limit限速

企业案例

某数据库管理员在使用rsync从远程服务器拉取大量数据备份时,因为文件体积庞大,导致内部交换机的带宽被占用,影响了其他用户的正常访问。

#客户端先生成一个500M大小的文件环境准备
[root@nfs01 ~]# dd if=/dev/zero of=./size.disk bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 6.31678 s, 83.0 MB/s
?
[root@nfs01 ~]# rsync -avzP? ./size.disk rsync_backup@11.0.1.192::backup --password-file=/etc/rsync.password
sending incremental file list
size.disk
?? 524,288,000 100%? 109.67MB/s ?? 0:00:04 (xfr#1, to-chk=0/1)
?
sent 509,973 bytes? received 43 bytes? 92,730.18 bytes/sec
total size is 524,288,000? speedup is 1,027.98
?
#服务端接收文件
[root@backup backup]# ll
total 512004
drwxr-xr-x 2 rsync rsync ? ? ?? 19 Nov 17 07:54 11.0.1.193
drwxr-xr-x 2 rsync rsync ? ? ?? 19 Nov 17 07:54 11.0.1.198
-rw-r--r-- 1 rsync rsync ? ? ? 321 Nov 11 23:04 hosts
-rw-r--r-- 1 rsync rsync 524288000 Nov 17 10:53 size.disk

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Connections incremental connection increment receiving

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-2 06:32