小工具知识网

当前位置: 首页 > 行业知识 > 使用rsync同步服务器和客户端的文件夹

行业知识

使用rsync同步服务器和客户端的文件夹

2026-11-01 23:02:57 来源:互联网转载

使用rsync同步服务器和客户端的文件夹

    • 实现目的
    • 实验准备
    • 实验操作步骤
      • 服务器操作
        • 关闭防火墙和SELINUX
        • 安装rsync
        • 修改服务器配置文件/etc/rsync.conf
        • 创建服务器备份文件的目录
        • 创建rsync系统运行的用户
        • 修改备份文件的所有者和所属组
        • 创建rsync.passwd
        • 启动rsync服务并进行验证
        • 客户端
        • 服务器验证
        • ���尾

          实现目的

          利用rsync实现远程服务器和电脑文件夹的同步

          ()

          实验准备

          本次演示均使用两台虚拟机做准备

          服务器192.168.218.136
          客户端192.168.218.132

          实验操作步骤

          服务器操作

          关闭防火墙和SELINUX

          1️⃣关闭防火墙

          ()
          [root@sxs home]# systemctl stop firewalld[root@sxs scripts]# systemctl disable firewalldRemoved "/etc/systemd/system/multi-user.target.wants/firewalld.service".Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

          2️⃣关闭SELINUX

          sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configsetenforce 0:  #立即生效
          安装rsync
          #因为之前已经安装过了,所以显示这结果[root@sxs scripts]# yum -y install rsyncCentOS Stream 9 - BaseOS                               3.4 kB/s | 3.8 kB     00:01    CentOS Stream 9 - BaseOS                               5.6 MB/s | 8.0 MB     00:01    CentOS Stream 9 - AppStream                            3.5 kB/s | 4.2 kB     00:01    CentOS Stream 9 - AppStream                            2.8 MB/s |  19 MB     00:06    CentOS Stream 9 - Extras packages                      9.1 kB/s | 6.9 kB     00:00    软件包 rsync-3.2.3-19.el9.x86_64 已安装。依赖关系解决。无需任何处理。完毕!
          修改服务器配置文件/etc/rsync.conf
          #有好几个都很重要,而且还涉及到权限的问题[root@sxs scripts]# cat /etc/rsyncd.conf |grep -v "^#\|^$"uid = rsync        #指定rsync进程以什么用户身份在后台运行,默认是nobodygid = rsync        #use chroot = no    #是否将用户锁定在家目录下max connections =100    #最大连接数pid file = /var/run/rsyncd.pid    #指定pid文件保存在哪里timeout = 900                     #访问超时时间lock file = /var/lock/rsync.lock  #指定lock文件保存在哪里log file = /var/log/rsync.log     #指定log日志文件保存在哪里[ test ]                              #模块名称,十分重要path = /home/backup/                  #客户端推送文件过来的时候,需要保存在哪里read only = false                     #文件目录只能下载,不能上传hosts allow = 192.168.218.0/24        #可以访问的IP地址,这是表示只有192.168.218.0的网段可以访问auth users = vuserback                #指定访问模块需要使用的用户名称,这里的是虚拟用户(不是存在于/etc/passwd)secrets file = /home/rsync.passwd    #访问模块的用户密码保存在哪里,很重要,而且这rsync.passwd文件的权限只能是600list = false                         #设置是否可以显示全部的模块列表
          创建服务器备份文件的目录
          #这一步:对应/etc/rsync.passwd配置文件下的: path = /home/backup/ [root@sxs scripts]# mkdir -p /home/backup
          创建rsync系统运行的用户
           [root@sxs]# groupadd  rsync [root@sxs]# useradd -r -s /sbin/nologin -g rsync rsync
          修改备份文件的所有者和所属组
          #这和上文的配置文件的uid和gid对应上,之前做实验的时候,发现所有者和所属组是root的时候,在客户端推送文件的时候一直报错,等我uid和gid修改成rsync的时候以及备份文件修改成rsync:rsync的时候才可以,这也是一个大坑。大家注意[root@sxs home]# chown rsync:rsync /home/backup/[root@sxs home]# lldrwxr-xr-x 2 rsync rsync 21  2月 28 18:46 backup
          创建rsync.passwd
          #这rsync.passwd的权限记得是600,十分重要的一个点[root@sxs home]# touch rsync.passwd[root@sxs home]# echo "vuserback:123" >rsync.passwd [root@sxs home]# chmod 600 rsync.passwd [root@sxs home]# cat rsync.passwd vuserback:123[root@sxs home]# ll总用量 4drwxr-xr-x 2 rsync rsync 21  2月 28 18:46 backup-rw------- 1 root  root  14  3月  2 00:40 rsync.passwd
          启动rsync服务并进行验证
          #rsync的端口是873,默认是873[root@sxs home]# rsync --damon[root@sxs home]# netstat -tnlp |grep rsynctcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      48666/rsync         tcp6       0      0 :::873                  :::*                    LISTEN      48666/rsync

          客户端

          直接推送文件

          #显示下文的这样子,就表示推送成功了[root@localhost /]# cd /scripts/[root@localhost scripts]# ll总用量 4-rwxr--r-- 1 root root 24 2月  28 18:46 test.sh[root@localhost scripts]# rsync -avz /scripts/ vuserback@192.168.218.136::testPassword:                                   #对应客户端的rsync.passwd文件的密码sending incremental file list./test.shsent 137 bytes  received 46 bytes  73.20 bytes/sectotal size is 24  speedup is 0.13[root@localhost scripts]#

          服务器验证

          在服务器可以看到对应的文件了

          [root@sxs home]# ll总用量 4drwxr-xr-x 2 rsync rsync 21  2月 28 18:46 backup-rw------- 1 root  root  14  3月  2 00:40 rsync.passwd[root@sxs home]# ll ./backup/总用量 4-rwxr--r-- 1 rsync rsync 24  2月 28 18:46 test.sh

          结尾

          可能有的写的不是很好,欢迎大家指出来

上一篇:涉及的单词怎么写?

下一篇:微信公众平台配置提示“token验证失败”(几乎全部踩坑贴,SpringBoot返回字符串,多双引号)