rsync 服务及部署
1 rsync简介1.1 什么是rsyncrsync: - a fast,versatile,remote (and local) file-copying tool 1.2 rsync特点可以实现全量和增量备份 1.2.1 全量和增量示意图全量:将主机A的数据全部传送给主机B 1.2.2 增量备份的原理方式一: 对源数据和目标目录中的数据进行比对属性信息 在同步备份数据时,默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据。 将生成的md5值发送给目标主机,目标主机验证接收的md5值是否与本机文件所产生的md5相同,如何不相同。则进行传输。 1.3 rsync软件功能介绍rsync即是软件也是命令。
1.3.1 rsync=cp备份文件:rsync /etc/hosts /tmp 备份目录:rsync -a /aaa /tmp 1.3.2 rsync=scpscp:远程传输数据 传输文件:scp /etc/hosts [email?protected]:/tmp 传输目录:scp -rp /aaa [email?protected]:/tmp rsync 备份文件:rsync /etc/hosts [email?protected]:/tmp 备份目录:rsync -rp /aaa [email?protected]:/tmp 利用rsync传输目录数据 ? 1.3.3 rsync=rm快速清空数据 mkdir null #创建一个空目录 rsync -avz --delete /null/ /test 注释:--delete 无差异同步参数 ?将两个目录中的数据保持高度一致。 1.3.4 rsync=ls查看文件:rsync /etc/hosts 查看目录:rsync /test 1.4 rsync的7个特性总结(1)支持拷贝普通文件与特殊文件如链接文件,设备等。 2 rsync命令使用方法2.1 rsync的工作方式2.1.1 本地数据备份(同步)方式本地复制备份文件 == cp Local: rsync [OPTION...] SRC... [DEST] SRC:要备份的数据 Dest:要备份到什么路径中 语法:rsync /etc/hosts /tmp 2.1.2 远程数据备份(同步)方式? Access via remote shell:远程数据备份文件 Pull: rsync [OPTION...] [[email?protected]]HOST:SRC... [DEST]====远程主机数据拉取到本地主机 Pull: 拉取 [[email?protected]]: 指定以什么用户身份登录到远程主机(默认是当前系统用户) HOST: 远程主机IP地址或者主机名称 SRC: 远程要拉取的数据信息 DEST: 保存到本地路径信息 语法:rsync [email?protected]:/tmp/test.txt /aaa #将10.0.0.41主机的test.txt文件拉取到本地主机 ? Push: rsync [OPTION...] SRC... [[email?protected]]HOST:DEST====本地主机数据推送到远端主机 [[email?protected]]: 指定以什么用户身份登录到远程主机(默认是当前系统用户) Push: 推送 HOST: 远程主机IP地址或者主机名称 SRC: 本地要推送的数据信息 DEST: 保存到远程路径信息 语法: rsync /etc/hosts [email?protected]:/tmp #将hosts文件推送给10.0.0.41主机/tmp目录 ? 2.1.3 守护进程方式备份(同步)数据Access via rsync daemon====利用守护进程方式备份数据 Pull: rsync [OPTION...] [[email?protected]]HOST::SRC... [DEST] rsync [OPTION...] rsync://[[email?protected]]HOST[:PORT]/SRC... [DEST] Push: 客户端验证rsync方式 (1)rsync [OPTION...] SRC... [[email?protected]]HOST::DEST src: 本地要推送的数据信息 [[email?protected]] 认证用户名称信息 HOST: 备份服务器IP地址或者主机名称,host后面需要有两个冒号 DEST: 指定模块信息的名字backup 语法:rsync -avz /etc/hosts [email?protected]::backup (2)rsync [OPTION...] SRC... rsync://[[email?protected]]HOST[:PORT]/DEST #不常用,理解即可 PORT:端口是之前默认的可以不写,但如果改变要加上端口 DEST:备份的路径 守护进程方式作用: 2.1.4 守护进程方式备份数据原理文字说明: ①客户端执行命令进行传输数据,服务端要求验证用户和密码。 ②服务端验证通过后,客户端开始进行传输数据。 ③服务端收到数据,改变数据的身份为rsync身份。 3 rsync服务部署3.1 服务端部署3.1.1 安装rsync?yum install -y rsync #安装rsync软件 rpm -qa rsync #查看rsync软件版本 rsync-3.1.2-4.el7.x86_64 #3.1.2版本 3.1.2 编辑配置文件vi /etc/rsyncd.conf #rsync_config #created by HQ at 2017 ##rsyncd.conf start## uid = rsync #虚拟用户rsync,管理备份目录 gid = rsync #虚拟用户组rsync,管理备份目录 port = 873 #服务默认端口号873 fake super = yes #伪装管理员功能开启 便于可以执行chgrp命令 use chroot = no #安全配置 max connections = 200 #最大连接数 同时支持200个客户端连接 timeout = 300 #连接超时时间 单位:秒 pid file = /var/run/rsyncd.pid #进程信息文件,便于获取进程号停止进程,判断服务是否启动,避免反复启动 lock file = /var/run/rsync.lock #锁文件:在最大连接数达到200时,会进行限制连接操作 log file = /var/log/rsyncd.log #服务运行时日志文件 ignore errors #忽略传输过程中一些小的问题 read only = false #指定备份目录的权限为可读可写 false:假 list = false hosts allow = 172.16.1.0/24 #安全策略配置,设置一个白名单,只允许172.16.1这个网段进行访问 hosts deny = 0.0.0.0/32 #安全策略配置 设置一个黑名单,不允许哪个网段进行访问 auth users = rsync_backup #定义认证用户 rsync_backup为认证用户 secrets file = /etc/rsync.password #密码文件 用户密码信息 格式:rsync_backup:oldboy123 [backup] #模块的名称(可以任意起名) comment = "backup dir by oldboy" #模块注释说明信息 path = /backup #备份的目录 以上为rsync配置文件的说明,如需配置请下载rsyncd.zip或者将说明中#号注释的全部删掉。 3.1.3?创建虚拟用户rsyncid rsync #查看以下是否有rsync这个用户 useradd rsync -M -s /sbin/nologin #创建rsync虚拟用户 3.1.4 创建密码文件并修改访问权限为600echo "rsync_backup:oldboy123" >/etc/rsync.password chmod 600 /etc/rsync.password #只能root用户才能查看密码 3.1.5 创建备份目录/修改目录属主和属组信息mkdir /backup chown rsync.rsync /backup 3.1.6 启动服务程序/重启服务程序systemctl start rsyncd systemctl restart rsyncd systemctl enable rsyncd 3.1.7 客户端备份存储测试rsync -avz /etc/hosts [email?protected]::backup 执行命令后显示如下图,则证明服务端部署成功。在这里注意的是输入的密码是3.1.4步骤中的密码。 3.2 客户端部署3.2.1 创建密码文件 并修改权限echo oldboy123 >/etc/rsync.password #将3.1.4步骤中的密码写入到rsync.password(可任意起名) chmod 600 /etc/rsync.password #修改权限只能root查看密码 3.2.2 交互式传输数据rsync -avz /etc/hosts [email?protected]::backup 3.2.3 免交互式传输数据rsync -avz /etc/hosts [email?protected]::backup --password-file=/etc/rsync.password 执行命令后显示如下图,则证明客户端部署成功。 4?rsync命令参数说明
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |