一、rsync是什么?
rsync 是一个开源实用程序,可提供快速的增量文件传输。 rsync 在 GNU 通用公共许可证下免费提供,目前由 Wayne Davison 维护。
可用rsync实现快速的,远程文件备份。
二、rsync的安装部署过程
1.在服务端安装软件程序
代码如下(示例):
yum install -y rsync #安装程序
具体安装过程省略,出现下图表示安装成功。
Total download size: 404 k
Installed size: 815 k
Downloading packages:
rsync-3.1.2-10.el7.x86_64.rpm | 404 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : rsync-3.1.2-10.el7.x86_64 1/1
Verifying : rsync-3.1.2-10.el7.x86_64 1/1
Installed:
rsync.x86_64 0:3.1.2-10.el7
Complete!
注意:一般的系统部署好yum仓库后,rsync服务是自动安装好的,所以可以使用rpm -qa rsync直接查看是否已经安装。如果已经安装,则不需要执行此步骤。
?
2.创建管理备份目录以及用户数据信息
?代码如下(示例):
useradd rsync -M -s /sbin/nologin #创建一个rsync的虚拟用户,不创建家目录,设置成不能登录到系统模式。
rsync用户只需要管理服务端的备份目录,所以只需创建一个虚拟用户即可。
?
3.创建备份数据目录
?代码如下(示例):
mkdir /backup/ #创建一个备份目录
chown rsync.rsync /backup/ #将备份目录的属主和属组全部改成之前创建的管理用户rsync,由它来管理备份目录。
?
?这时可以看到备份目录的属主和属组均已改变。
4.创建用户列表文件
?代码如下(示例):
echo 'rsync_backup:oldboy123' >> /etc/rsync_password #创建一个保存用户账户与密码的信息,让服务端进行身份验证。
chmod 600 /etc/rsync_password #设置用户密码文件的权限,不让其他人看到。
注意:此处创建的用户账户不需要使用useradd命令系统创建一个;在自定义的用户列表文件里创建就行。
5.编写配置文件
想要查找rsync服务的配置文件,可以使用rpm -qc来查找某个服务对应的配置文件。
rpm -qc rsync
/etc/rsyncd.conf #此处用到这一个配置文件
/etc/sysconfig/rsyncd
?在/etc/rsyncd.conf文件中进行编辑,具体编辑内容如下:
vim /etc/rsyncd.conf
uid = rsync #指定rsync服务备份目录或数据信息的管理用户
gid = rsync #指定rsync服务备份目录或数据信息的管理用户组
port = 873 #指定端口号
fake super = yes #将uid伪装成root,uid不是root的情况下一定要写成yes,
如果uid为root,要写成no以避免冲突
use chroot = no #提高数据备份安全性,但前提要将uid和备份目录的权限全部设置成root
max connections = 200 #最大连接数
timeout = 300 #连接会话超时时间,单位为秒
pid file = /var/run/rsyncd.pid #保存服务程序进程文件路径
lock file = /var/run/rsync.lock #保存服务程序锁文件路径
log file = /var/log/rsyncd.log #保存服务程序日志文件路径
ignore errors #可以忽略简单的错误
read only = no #是否将备份目录设置成只读,肯定是No
list = false
hosts allow = 172.16.1.0/24 #允许172.16.1.0网段的客户端主机访问
hosts deny = 0.0.0.0/32 #拒绝0.0.0.0网段的客户端主机访问
auth users = rsync_backup #指定可以进行认证用户信息,不需要系统创建
secrets file = /etc/rsync_password #用户密码文件路径,权限一定要设成600
[backup] #模块信息
comment = "backup dir by oldboy" #注释说明
path = /backup #数据备份目录的路径
6.启动服务程序
systemctl start rsyncd #启动rsync服务
ps -ef|grep "rsync" #查看rsync相应的进程信息
netstat -lntup|grep "rsync" #查看rsync网络服务状态信息
可使用systemctl status rsyncd 查看rsync的状态,若显示为actice,则启动成功,可以进行使用!?
7.实例演示
rsync可以实现远程方式数据备份,其具体格式如下:
Access via remote shell:
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST? ?将本地数据推送到远程主机上 ? ? Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]? ?将远程数据拉取到本地主机上 ??
将本地数据推送到远程主机上:(标红的为我的备份服务端)代码如下:
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
这时,我们再到备份服务端中,此时可以看到,数据已经远程备份成功,并且属主和属组也自动更改为我们指定的rsync。
将远程数据拉取到本地主机上,可进行一个数据恢复,代码如下:
rsync -avz rsync_backup@172.16.1.41::backup/hosts /etc/
?
?
?
总结
这里对文章进行总结: 本文仅仅简单介绍了rsync服务的安装部署,其使用途径依然还有很多,想要部署成功,至少需要两台主机,并且能够互相访问。
本人为Linux初学者,经验有限,文章如有不足,欢迎指正,我会积极修改,谢谢!?????
?
|