rsync数据备份

环境准备

主机名

内网IP

外网IP

角色

web01

172.16.1.7

10.0.0.7

备份客户端

baskup

172.16.1.41

10.0.0.41

备份服务端

rsync概述

为什么使用rsync不用scp

1.scp是基于ssh协议的命令,不是一个服务

2.scp每次都基于全量拷贝,rsync支持增量拷贝 cp rm scp tar

备份类型

  • 全量备份
  • 将数据全部备份出来
  • 增量备份
  • 基于上一次备份,新增部分的数据备份出来
  • 差异备份
  • 基于全量备份,新增部分的数据备份出来

架构(day02)_用户名

rsync传输模式

注意:rsync拷贝目录时,加/和不加/是有区别的
举例:
/etc/ :将etc目录下的所有文件拷贝过去,不包括目录本身
/etc :将etc目录本身和目录下的所有文件一并拷贝过去

  • 本地模式(cp)
Local:  rsync [OPTION...] SRC... [DEST]
cp [OPTION]... SOURCE DEST
rsync [选项] 源文件.. 目标路径
  • 远程模式
Access via remote shell:
Pull: 拉 rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: 推 rsync [OPTION...] SRC... [USER@]HOST:DEST

拉:rsync [选项] [用户@]主机IP:文件路径 本机目录
推:rsync [选项] 本机文件 [用户@]主机IP:目录

如果不加 用户@ 默认以当前系统登录的用户为用户名
  • 守护进程模式(把rsync当成服务启动)
Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST

拉:rsync [选项..] [用户名@]主机IP::配置文件中的模块名 本机目录
推:rsync [选项..] 本机文件 [用户名@]主机IP::配置文件中的模块名

企业中为啥使用守护进程模式

1.远程模式和scp差不多,基于ssh协议
2.需要知道系统的用户名和密码
3.守护进程不需要ssh协议,服务启动后,自带端口
4.守护进程可以设置匿名用户,不需要使用系统用户

rsync选项

-a:归档模式传输, 等于-tropgDl
==============================
-t:time 保持文件的时间信息
-r:拷贝目录时,递归拷贝
-o:owner 保持文件的属主信息
-g:group 保持文件的属组信息
-p:perm 保持文件的权限信息
-D:device 保持设备文件的信息
-l:link 保留软链接
==============================
-v:显示同步过程
-z:压缩,提高传输效率
-P:显示进度
-L:保留软链接指向的目标文件
--exclude=PATTERN 指定排除不需要传输的文件模式
--exclude-from=file 指定排除文件
--bwlimit=1 限速传输
--partial 断点续传
--delete 决定数据是否要同步 rm
--password-file= 指定密码文件