rsync备份工具

一、rsync是什么

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。

Rsync软件适用于unix/linux/windows等多种操作系统平台。

Rsync是一个快速和非常通用的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制。

它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。减少通过网络数据发送数量,利用只发送源文件和目标文件之间的差异信息,从而实现数据的增量同步复制。

Rsync被广泛用于数据备份和镜像,并且作为一种改进后的复制命令用于日常运维。

Rsync具备使本地和远程两台主机之间的数据快速复制远程备份的功能,Rsync命令本身即可实现异地主机复制数据,功能类似scp又优于scp,scp每次都是全量备份,rsync可以实现增量拷贝(和scp一样都是基于ssh服务传输),Rsync软件还支持配置守护进程,实现异机数据复制。

增量复制是Rsync一特点,优于scp,cp命令。

Rsync实现如下功能

  • 本地数据同步复制,效果如cp
  • 远程数据同步复制,如scp
  • 本地数据删除,如rm
  • 远程数据查看,如ls

Rsync软件特性

  • 支持拷贝普通文件,特殊文件(link文件,设备文件)
  • 支持排除指定文件、目录的同步功能(同步数据时,指定文件不同步)
  • 能够保持原有文件所有属性均不变(stat查看的状态)
  • 实现增量复制(只复制变化的数据,数据传输效率极高)
  • 可以配合ssh、rcp、rsh等方式进行隧道加密文件传输(rsync本身不加密数据)
  • 可以通过socket(进行通信文件)传输文件和数据(c/s架构)
  • 支持匿名用户模式传输+

二、rsync工具的实现备份的方式

rsync默认运行端口
873端口
rsync三种工作模式
1.本地模式,类似cp
2.远程模式,常用,类似scp,不同的机器之间,通过网络拷贝数据
3.后台服务模式,常用,用于实时数据同步,安全性更高
rsync常用参数 
rsync参数的具体解释如下:


-a:--archive,归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rtopgDl
-v:--verbose,详细模式输出,传输时的进度等信息。
-z:--compress,传输时进行压缩以提高传输效率,
-r:对子目录以递归模式,即目录下的所有目录都同样传输。
-o:保留文件属性。
-p:保留文件权限。
-g:保留文件组权限。
-D:保留设备文件信息。
-l:保留文件软链接。
-P:显示同步的过程及传输时的进度等信息。
--delete 删除那些DST中SRC没有的文件
--password-file=FILE 从FILE中得到密码
--bwlimit=KBPS 限制I/O带宽,KBytes per second      
rsync本地模式备份
1、安装rsync
yum install rsync -y

2、命令语法-----类似于 cp 命令
rsync 参数 源路径 目标路径

3、创建测试文件进行rsync备份
[root@rsync-41 ~]#tree /opt/test/
/opt/test/
└── rsync_test.txt

0 directories, 1 file
[root@rsync-41 ~]#rsync -azvP /opt/test/rsync_test.txt /opt/test1/
sending incremental file list
created directory /opt/test1
rsync_test.txt
              7 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)

sent 104 bytes  received 68 bytes  344.00 bytes/sec
total size is 7  speedup is 0.04
[root@rsync-41 ~]#tree /opt/
/opt/
├── test
│   └── rsync_test.txt
└── test1
    └── rsync_test.txt

2 directories, 2 files


 rsync远程模式备份
rsync默认走ssh协议,实现如scp的作用

推送方式,把自己的数据推送到另一台机器上(上传)
把rsync-41   /root下的数据      拷贝到 nfs-31   /tmp下
[root@rsync-41 ~]#rsync -avzP /root/ root@10.0.0.31:/tmp/test/

拉取方式,拉取别人机器的数据到自己的机器上(下载)
把nfs-31  /root下的数据      下载到rsync-41   /tmp下
[root@rsync-41 ~]#rsync -avzP root@10.0.0.31:/root/ /opt/test1/
rsync服务模式(服务端配置)
1、安装rsync
yum install rsync -y

2、修改配置文件--- /etc/rsyncd.conf
uid = www                     # 运行进程的用户
gid = www                     # 运行进程的用户组
port = 873                     # 监听端口
fake super = yes              # 无需让 rsync 以 root 身份运行,允许接收文件的完整属性
use chroot = no               # 禁锢推送的数据至某个目录, 不允许跳出该目录
max connections = 200         # 最大连接数
timeout = 600                 # 超时时间
ignore errors                 # 忽略错误信息
read only = false             # 对备份数据可读写
list = false                  # 不允许查看模块信息
auth users = rsync_backup          # 定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.passwd   # 定义 rsync 服务用户连接认证密码文件路径

[backup]                     # 定义模块信息
comment = 注释信息             # 模块注释信息
path = /backup                 # 定义接收备份数据目录

3、创建用户以及数据目录
[root@rsync-41 ~]#useradd -u 1000 -M -s /sbin/nologin www
[root@rsync-41 ~]#mkdir -p /data/ /backup

4、修改备份目录权限
[root@rsync-41 ~]#chown -R www:www /data/
[root@rsync-41 ~]#chown -R www:www /backup/

5、创建rsync专用的账户密码
[root@rsync-41 ~]#cat /etc/rsync.passwd 
rsync_backup:123123

6、降低密码文件的权限
[root@rsync-41 ~]#chmod 600 /etc/rsync.passwd 
[root@rsync-41 ~]#ll /etc/rsync.passwd 
-rw-------. 1 root root 20 Jul 25 10:58 /etc/rsync.passwd

7、启动服务
[root@rsync-41 ~]#systemctl start rsyncd
[root@rsync-41 ~]#systemctl status rsyncd
● rsyncd.service - fast remote file copy program daemon
   Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-07-25 11:01:30 CST; 9s ago
rsync服务模式(客户端配置)
1.安装rsync
yum install rsync -y

2.配置密码文件及授权
方法一,生成密码文件,每次连接都指定这个密码文件
	echo '123123' > /etc/rsync.pwd
	chmod 600 /etc/rsync.pwd

方法二,不用文件密码形式,采用环境变量形式
	export RSYNC_PASSWORD=123123

3、使用rsync命令进行操作备份
注意。这里的语法有区别
rsync -avzP   文件路径  账户@主机名::模块名

创建测试文件
[root@nfs-31 ~]#cat /opt/nfs-test/1.txt
这是nfs客户端的文件

向rsync-41机器进行文件备份
方式一:[root@nfs-31 ~]#rsync -az /opt/nfs-test/1.txt rsync_backup@rsync-41::backup
方式二:[root@nfs-31 ~]#rsync -az --password-file=/etc/rsync.pwd /opt/nfs-test/1.txt rsync_backup@rsync-41::backup

4、查看rsync-41机器的backup文件,是有备份的文件
[root@rsync-41 ~]#cat /backup/1.txt 
这是nfs客户端的文件

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值