文章目录
1. rsync概述
1.rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性,简单来说就是复制,可以用于本地的复制,也可以用户跨主机(ssh/rsync主机同步)之间的复制
2.rsync软件适用于unix/linux/windows等多种操作系统平台,提供了大量的参数来控制其行为的各个方面,非常灵活
3.rsync软件以其delta-transfer算法闻名
4.rsync运行模式:c/s,rsync监听端口:873,目前最新版本是 3.1.3,由 Wayne Davison 进行维护
- 配置rsync源服务器
2.1 基本思路
配置备份源的基本思路
rsync 同步源:指备份操作的远程服务器,也称为备份源
建立rsyncd.conf配置文件、独立的账号文件;服务账号远程登录使用rsync的相关功能,服务账号是自定义的
启用rsync的–daemon模式
2.2 应用实例
1.配置文件-rsyncd.conf
需手动建立,语法类似于Samba配置
认证配置auth users、secrets file, 不加则为匿名
2.rsync账号文件的作用
采用“用户名:密码”的记录格式,每行一个用户记录;独立的账号数据,不依赖于系统账号
需要对应配置文件模块(使用不同的账号+功能模块,就可以使用不同的同步策略/方式
在使用同步时,我们需要指定账号+功能模块来指定我们同步的策略
3.启用rsync服务
通过–daemon独自提供服务
执行kill $(cat /var/run/rsyncd.pid)关闭rsync服务
2.3 配置源的两种表示方法
格式一
用户名@主机地址: :共享模块名.
rsync -avz backuper@192.168.35.40::wwwroot /root
格式二
rsyne://用户名@主机地址/共享模块名
rsync -avz rsync:/ /backuper@192.168.152.130::/wwwroot /root
- 备份工具-rsync
3.1 同步方式
1.全量备份
原有的数据全部传送
把原来的文件和新的文件一起统一传送
全量复制,效率低
2、增量备份
在传输数据之前通过一些算法通过你有的数据和我有的数据进行对比,把不一样的数据通过网络传输
增量复制,效率高
3.2 rsync命令
基本格式:
rsync [选项] 原始位置 目标位置
4. 部署rsync同步
4.1 rsync本地复制
4.1.1 搭建环境
rsync 192.168.152.130
client 192.168.152.129
这里测试本地复制,先用一台地址为130的虚拟机作为测试
4.1.2 搭建过程
下载rsync并启动:
[root@rsync ~]#rpm -q rsync
[root@rsync ~]#yum -y install rsync ##安装rsync
[root@rsync ~]# mkdir /aaa
[root@rsync ~]# mkdir /bbb
[root@rsync ~]# mkdir /ccc
[root@rsync ~]# cd /
[root@rsync /]# ls
aaa bin dev lib mnt root srv usr
abc boot etc lib64 opt run sys var
bbb ccc home media proc sbin tmp
[root@rsync ~]# cd /aaa
[root@rsync aaa]# touch 1.txt
[root@rsync aaa]# ls
1.txt
[root@rsync aaa]# rsync -avz /aaa/ /bbb
#将目录aaa的文件复制到目录bbb下
sending incremental file list
./
1.txt
sent 103 bytes received 38 bytes 282.00 bytes/sec
total size is 0 speedup is 0.00
[root@rsync aaa]# rsync -avz /aaa /ccc
#将目录aaac的文件连同目录aaa复制到目录ccc下
sending incremental file list
aaa/
aaa/1.txt
sent 115 bytes received 39 bytes 308.00 bytes/sec
total size is 0 speedup is 0.00
#rsync跟cp 的区别,就是cp命令无论后面接不接/都会复制目录本身
[root@rsync aaa]# cp -a /aaa /opt
[root@rsync aaa]# ls /opt
aaa httpd-2.4.6-95.el7.centos.x86_64.rpm rh
[root