Rsync-从无到有

1.Rsync基本概述
rsync remote sync(远程同步)
是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用
官网地址:https://rsync.samba.org/
端口:tcp 873
运行模式:
C/S 客户端、服务端模式
QQ
B/S:浏览器、服务端模式
备份方式:
完全备份:对所有数据做一次全备份
增量备份:只备份离上次备份变化的数据
差异备份:备份时上一次完全备份后变化的数据
常见备份组合:
完全+增量:1次完全+多次增量
完全+差异:1次完全+1次差异
2.Rsync应用场景
数据同步的方式:
推:push,上传(upload)
将客户端的数据上传到rsync服务器(backup服务器)
拉:pull,下载(download)
将rsync服务端
推拉是由客户端发起的
3.Rsync传输模式
rsync [OPTION]… SRC [SRC]… DEST
or rsync [OPTION]… SRC [SRC]… [USER@]HOST:DEST
or rsync [OPTION]… SRC [SRC]… [USER@]HOST::DEST
or rsync [OPTION]… SRC [SRC]… rsync://[USER@]HOST[:PORT]/DEST
or rsync [OPTION]… [USER@]HOST:SRC [DEST]
or rsync [OPTION]… [USER@]HOST::SRC [DEST]
or rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync --备份命令(cp)
[options] --选项
SRC --本地源文件
[DEST] --本地目标文件
rsync -avz /etc/passwd /tmp/
Rsync大致使用三种主要的数据传输方式
-a 归档模式及传输,等于trogD1
-v 详细模式输出,打印速率,文件数量等
-z 传输时进行压缩以提高效率
-r 递归传输目录及子目录,即目录下得所有目录都同样传输
-t 保持文件时间信息
-o 保持文件属主信息
-p 保持文件权限
-g 保持文件属组信息
-l 保留软连接
-p 显示同步的过程及传输时的进度等信息
-D 保持设备文件信息
-L 保留软连接指向的的目标文件
-e 使用的信道协议,指定替代的rsh的shell程序
–exclude-PATTERN 指定排除不需要传输的文件模式
–exclued-from=frile 文件名所在的目录文件
–bwlimit=100 限速传输
–partial 断点续传
–delete 让目标目录和源目录数据保持一致
本地方式:
类似cp命令
文件同步
[root@iZ0qjhhu2rrhmpZ tmp]# rsync -avz /etc/passwd /tmp/
sending incremental file list
passwd

sent 559 bytes received 35 bytes 1,188.00 bytes/sec
total size is 1,119 speedup is 1.88
目录同步:
[root@iZ0qjhhu2rrhmpZ opt]# rsync -avz /opt/ /data/
sending incremental file list
./
back.sql
bin.sql
hd.sql
log-bin.000004
test.html
xu.sql

sent 2,571,658 bytes received 133 bytes 1,714,527.33 bytes/sec
total size is 12,755,928 speedup is 4.96
总结:如果要同步的时候目录里面的内容,命令中目录i的后面必须要加"/";、
如果要同步的是目录本身及其内容,则命令中只需写目录名。
完全同步 --delete 让源和目标内容完全一致
远程方式:
使用的ssh协议,过程是加密的,类似scp命令 secure cp
tcp传输过程,每传输一次数据都会有连接的建立,维护,断开过程。
[root@CRM data]# rsync -avz /data/ root@IP:/data/
root@120.79.213.171’s password:
^Crsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(638) [sender=3.1.2]
[root@CRM data]# rsync -avz /data/ root@IP:/data/
root@IP’s password:
sending incremental file list
1.txt

sent 126 bytes received 41 bytes 47.71 bytes/sec
total size is 20 speedup is 0.12
问题:1.用户权限问题
2.用户身份暴露了,安全隐患
3.文件路径暴露了,安全隐患
守护进程:
rsync [OPTION]… SRC [SRC]… rsync://[USER@]HOST[:PORT]/DEST
rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]
rsync自身非常重要的功能(不适用系统用户,更加安全)
1.按照rsync
yum -y install rsync
2.修改配置文件
1)查询配置文件信息
[root@CRM data]# rpm -qc rsync
/etc/rsyncd.conf
/etc/sysconfig/rsyncd
2)修改配置文件
uid = rsync —运行进程的用户
git = rsync —运行进程的用户组
port = 873 —监听端口
fake super = yes —无需让rsync以root身份运行,允许存储文件的完整属性(3.1版本之后)
use chroot = no --关闭假根功能
max connections = 200 最大连接数
timeout = 600 -超时时间
ignore errors --忽略错误信息
read only = false 怼备份数据可读写
list = false 不允许查看模块信息
auth users = rsync 定义虚拟用户,作为连接认证用户
secrets file = /etc/reync.passwd 定义rsync访问用户连接认真密码文件路径
log file = /var/log/rsyncd.log日志文件
#######################################################
[backup] 定义模块信息
comment = welcome to xinqi backup! 模块注释信息
path = /backup 定义接收备份数据目录
3.创建程序用户
useradd -M -s /sbin/nologin rsync
4.创建目录,并修改所属
mkdir -p /opt/back
chown -R rsync:rsync /opt/back
5.创建虚拟用户认证文件
echo “xu:password” >/etc/rsync.passwd
chmod 600 /etc/rsync.passwd
5.启动服务
systemctl start rsyncd
systemctl enable rsyncd
注意:一定要查看是否启动成功
和查看端口号
免密码:
方法一:在客户端上创建密码文件,并给600权限
echo “password” >/etc/rsync.passwd
chmod 600 /etc/rsync.passwd
方法二:适合写脚本 定义变量
export RSYNC_PASSWD=password
4.客户端验证
安装rsync
yum install -y rsync
操作验证
推:上传
[root@CRM2 excel]# rsync -avz /opt/ rsync@IP::backup --password-file=/etc/rsync.passwd
拉:下载
在服务器创建下拉文件
[root@CRM2 excel]# rsync -avz rsync@IP::backup /opt/ --password-file=/etc/rsync.passwd
注意:
1.如果密码权限没有修改为600,就会报错
可以通过查看/var/log/messages
2.需要考虑服务端下拉的文件权限,主要是读权限
4.Rsync服务实践
5.Rsync备份案例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值