❤超容易的rsync守护进程服务部署流程❤

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

本次部署流程中,需要一台服务端服务器和一台客户端服务器(backup服务器充当服务端服务器,nfs存储服务器充当客户端服务器)

一、服务端部署步骤:(backup服务器)

🔅1.确认软件服务是否安装

[root@backup ~]rpm -qa rsync (查看是否安装)
rsync-3.0.6-12.el6.x86_64
复制代码

🔅2.如果未安装则进行安装rsync软件操作

[root@backup ~] #安装rsync软件
[root@backup ~]yum install -y rsync
复制代码

🔅3.编写rsync备份服务配置文件

该配置文件内容根据man rsyncd.conf文件内容编写

[root@backup ~]vim /etc/rsyncd.conf 
#此文件为rsync软件的配置文件
复制代码

#此内容为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
[backup]
ignore errors
read omly = 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
comment = "backup dir by oldboy"
path =/backup
复制代码

下列文件信息为配置文件内容解析

uid = rsync

#用户远端的命令使用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
#日志文件,显示出错信息等
[backup]
#模块名称
path = /backup
#模块对应的位置(路径)
ignore errors
#忽略错误程序
read only = false
#是否只读
list = false
#是否可以列表
hosts allow =172.16.1.0/24 #准许访问rsync服务器的客户范围(白名单)
hosts deny =0.0.0.0/32 #禁止访问rsync服务器的客户范围(黑名单)
auth users = rsync_backup #不存在的用户,只用于开门(认证)
#设置进行连接认证的密钥文件
secrets file =/etc/rsync.password
#不存在的用户进行认证时的密钥文件

🔅4.创建一个备份目录管理用户

(虚拟用户)

[root@backup ~] useradd -M -s /sbin/nologin rsync
[root@backup ~] id rsync  #查看用户是否创建
uid=500(rsync) gid=500(rsync) groups=500(rsync)
复制代码

🔅5.创建备份数据目录

[root@backup ~] mkdir /backup -p 
[root@backup ~] chown -R rsync.rsync /backup  #修改/backup目录的用户和用户组都为rsync
[root@backup ~] ll /backup   #修改效果如下
total 8
-rw-r--r-- 1 rsync rsync 158 Aug 11  2021 hosts
复制代码

🔅 6.创建认证用户密码文件

(每次远程传输文件都需要做密码验证)

[root@backup ~] echo "rsync_backup:123456" >>/etc/rsync.password  
#将rsync_backup和对应密码123456输入到指定文件夹/etc/rsync.password
[root@backup ~] chmod 600 /etc/rsync.password
#修改/etc/rsync.password的文件权限为root用户可读可写状态,其他用户组不可以修改和查看
#r==可读权限==4,w==可写权限==2, x==可以执行权限==1
复制代码

🔅7.启动rsync备份服务守护进程

[root@backup ~] rsync --daemon   #启动进程命令
[root@backup ~] ps -ef|grep rsync  #查看进行是否启动命令
root       2865      1  0 12:17 ?        00:00:00 rsync --daemon
root       2867   2562  0 12:17 pts/2    00:00:00 grep rsync
复制代码

🔅8.查看rsync备份服务端口为多少

(rsync端口号为873端口)

[root@backup ~] netstat -lntup|grep rsync  #查看端口号命令
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      2865/rsync          
tcp        0      0 :::873                      :::*   
#输出的第一条信息是ipv4的信息,可以看到端口号为873和状态信息
#输出的第二条信息是ipv6的信息,也可以看到端口号为873  
复制代码

二、客户端部署流程:(nfs服务器)

🔅1.确认rsync软件服务是否安装成功

[root@nfs ~] rpm -qa rsync (查看是否安装)
复制代码

🔅2.如果未安装则进行安装rsync软件操作

[root@nfs ~] #安装rsync软件
[root@nfs ~] yum install -y rsync
复制代码

🔅3.创建密码文件进行授权

[root@nfs ~] echo "123456" >>/etc/rsync.password
#将远程传输文件需要验证的密码输入到密码文件中,方便日后备份与机器免交互动作(不用手动输入密码认证)
[root@nfs ~] chmod 600 /etc/rsync.password
#修改/etc/rsync.password的文件权限为root用户可读可写状态,其他用户组不可以修改和查看
#r==可读权限==4,w==可写权限==2, x==可以执行权限==1
复制代码

🔅4.进行数据备份传输测试

[root@nfs ~] rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup  --password-file=/etc/rsync.password
#执行数据远程备份传输命令。172.16.1.41为backup服务器ip地址
[root@backup ~] ll /backup     #在backup服务器上验证数据是否传输成功
total 4
-rw-r--r-- 1 rsync rsync 158 Aug 11  2021 hosts
#可以看到nfs服务器中的/etc/hosts的目录,已经通过rsync服务远程传输到backup服务器上的/backup目录中
复制代码
数据远程备份传输命令详解
rsync [OPTION...] SRC... [USER@]HOST::DEST
#rsync远程备份命令格式
#rsync           ---数据备份命令
OPTION...]      ---命令参数信息
SRC...          ---指定将本地服务器上数据进行备份
[USER@]         ---指定进行传输数据认证用户信息 
HOST::          --- 指定备份服务器的ip地址或主机名称信息
DEST            ---指定备份服务器上模块名称
复制代码