美文网首页
Rsync 服务

Rsync 服务

作者: DB哥 | 来源:发表于2019-08-29 14:25 被阅读0次

Linux System Environment

[root@rsync01 ~]# cat /etc/redhat-release                   #==》系统版本
CentOS Linux release 7.5.1804 (Core) 
[root@rsync01 ~]#uname –r                                   #==》内核版本
3.10.0-862.el7.x86_64
[root@rsync01 ~]#uname -m                                   #==》系统架构
x86_64
[root@rsync01 ~]#echo $LANG                                 #==》系统字符集
en_US.UTF-8
[root@nfs01 ~]# rsync –version                              #==》Rsync版本
rsync  version 3.1.2  protocol version 31

全量备份

全量备份是指将客户端所有的数据备份,效率低下,占用空间。

增量备份

增量备份是不会将客户端所有数据备份,而且将有变化的数据备份,提高备份效率,节省空间,适合异地备份。

Rsync功能

1、本地复制(增量备份),类似cp命令(全量备份)
2、异地复制(增量备份),类似scp命令(全量备份)
3、守护进程模式,开启后台进程,接受主机访问
4、使用户传输数据时可以免密码输入进行传输数据
5、传输过程使用-z压缩数据传输速度更快

Rsync语法格式

1、Local(本地传输):  rsync [OPTION...] SRC... [DEST]
rsync  -avz   /etc/hosts  /backup

2、Access via remote shell(远程传输):
推送  rsync  -avz   /etc/hosts   root@10.0.0.70:/backup
拉取  rsync  -avz   root@10.0.0.70:/backup    /etc/hosts

3、Access via rsync daemon(守护进程模式传输):
推送  rsync  -avz   /etc/hosts   root@10.0.0.70::backup
拉取  rsync  -avz   root@10.0.0.70::backup    /etc/hosts

Rsync守护进程模式工作流程图

Rsync命令参数
推荐参数用法 -avz 或者 -avzP

1、-a                    #==》归档模式传输,功能等于 –tropgDl参数集合
2、-r                    #==》递归复制 
3、-l                    #==》保持软连接 
4、-L                    #==》保留软件接指向目标文件
5、-p                    #==》保持文件权限
6、-P                    #==》显示同步的过程及传输时的进度信息
7、-t                    #==》保持文件修改时间
8、-g                    #==》保持用户组不变
9、-o                #==》保持用户不变
10、-z               #==》数据压缩传输
11、-v                   #==》显示输出过程
12、--exclude={a,b,c,d}  #==》多个文件或--exclude=a单个文件,排除不复制的文件
13、--exclude-from=file  #==》接收文件内容指定排除的文件
14、--progress           #==》显示传输进度
15、--bwlimit=KBPS   #==》限制I/O带宽,KBytes per second
16、--delete             #==》使目标目录和源目录数据保持一致

rsyncd.conf配置文件参数说明
标注:Rsync守护进程模式下配置文件才有效

[root@RsyncServer ~]#cat /etc/rsyncd.conf
##rsyncd.conf start
uid = www                               #==》运行Rsync子进程的用户
gid = www                               #==》运行Rsync子进程的用户组
port  = 873                             #==》监听端口
fake super = yes                        #==》无需让rsync以root身份运行,允许接收文件的完整性
use chroot = no                         #==》禁锢推送的数据至某个目录,不允许跳出该目录
max connections = 200                   #==》最大连接数
timeout =300                            #==》设置访问rsync服务超时时间
pid file = /var/run/rsyncd.pid          #==》保存Rsync进程号ID
lock file = /var/run/rsyncd.lock        #==》锁文件
log file = /var/log/rsyncd.log          #==》Rsync日志文件
ignore errors                           #==》忽略错误信息
read only = false                       #==》对备份数据可读写
list = false                            #==》不允许查看模块信息
#hosts allow = 10.0.0.0/24              #==》允许访问rsync服务指定的网段
#hosts allow = 10.0.0.200/24            #==》允许访问rsync服务指定的IP
#hosts deny = 10.0.0.0/32               #==》禁止访问rsync服务指定的网段
#hosts deny = 10.0.0.8                  #==》禁止访问rsync服务指定的IP
auth users = rsync_backup               #==》访问rsync服务虚拟用户
secrets file = /etc/rsync.password      #==》认证虚拟用户密码文件

[backup]                                #==》模块标签
Comment = welcome to backup             #==》模块描述
path = /backup                          #==》Rsync备份路径
##rsyncd.conf end

一、配置阿里云yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache

二、yum安装Rsync服务
标注:CentOS 7 rsync默认已安装

[root@rsync01 ~]# yum -y install rsync
[root@rsync01 ~]# rpm -qc rsync
/etc/rsyncd.conf
/etc/sysconfig/rsyncd

三、创建统一虚拟用户 www

[root@rsync01 ~]# useradd -s /sbin/nologin -M www
[root@rsync01 ~]# id www
uid=1002(www) gid=1002(www) groups=1002(www)

四、创建备份目录

[root@rsync01 ~]# mkdir /backup
[root@rsync01 ~]# chown -R www.www /backup
[root@rsync01 ~]# ls -ld /backup/
drwxr-xr-x 2 www www 6 Aug 29 11:20 /backup/

五、配置Rsync配置文件/etc/rsyncd.conf

[root@rsync01 ~]# vim /etc/rsyncd.conf
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 300
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
[backup]
comment = welcome to backup!
path = /backup

六、创建密码文件并更改授权

[root@rsync01 ~]# echo 'rsync_backup:123456' > /etc/rsync.passwd
[root@rsync01 ~]# chmod 600 /etc/rsync.passwd 
[root@rsync01 ~]# cat /etc/rsync.passwd 
rsync_backup:123456

七、启动Rsync守护进程模式并设置开机自启动

[root@rsync ~]# systemctl start rsyncd
[root@rsync ~]# systemctl enable rsyncd
[root@rsync ~]# systemctl status rsyncd
[root@rsync01 ~]# ss -tlunp | grep rsync

八、Rsync客户端测试操作
标注:Rsyns两个方法免密码传输文件,方法一:创建密码文件;方法二:使用环境变量定义密码

1、创建统一虚拟用户www

[root@test ~]# useradd -s /sbin/nologin -M www
[root@test ~]# id www
uid=1002(www) gid=1002(www) groups=1002(www)

2、创建虚拟用户验证密码文件并授权

[root@test ~]# echo '123456' > /etc/rsync.passwd
[root@test ~]# chmod 600 /etc/rsync.passwd 
[root@test ~]# cat /etc/rsync.passwd 
123456

3、使用密码文件传输

[root@test ~]# rsync -avzP /etc/fstab rsync_backup@10.0.0.60::backup --password-file=/etc/rsync.passwd

4、使用环境变量定义密码传输

[root@test ~]# export RSYNC_PASSWORD="123456"
[root@test ~]# rsync -avzP /etc/hosts rsync_backup@10.0.0.60::backup

相关文章

网友评论

      本文标题:Rsync 服务

      本文链接:https://www.haomeiwen.com/subject/qzjiectx.html