一、rsync是什么?
一款快速增量备份工具
rsync复制时的原理
- 首先将源文件和目标位置的文件对比,找出差异部分
- 根据目标位置的文件与源文件差异的部分,进行一致性同步
2、rsync同步源
rsync同步源:指的就是备份操作的远程服务器,也称备份源。
例如
- A服务器同步B服务器的数据,B服务器就是备份源,相反,一样。
?
3、配置rsync源
基本思路
- 建立rsync.conf配置文件、独立的账户文件
- 启用rsync的 --daemon(守护进程)模式
配置文件/etc/rsync/rsyncd.conf
- 认证配置auth users、secrets file ,不加则为匿名
独立的账号文件
- 文件位置可在配置文件中定义
- 格式: 用户名:密码
- 每一行一个用户记录
- 独立的账号数据,不依赖系统账号
启动rsync服务
- 通过–daemon独自提供服务,rsync–daemon
- 执行kill(cat /var/run/rsyncd.pid)关闭服务
4、rsync命令
rsync 【选项】 原始位置 ?目标位置
5、配置源的两种表达方式
格式一
用户名@主机地址::共享模块名 ?本地目录
例如:rsync -avz backuper@20.0.0.55::wwwroot /data #表示将20.0.0.55同步源的wwwroot模块中定义的文件同步到本地的/data目录 ?
格式二
rsync://用户名@主机地址/共享模块名 本地目录
例如:rsync -avz rsync://ydq@20.0.0.55/wwwroot /root #意思与上面一样,写法不同
二、rsync实验
1、本地复制
rsync -avz /abc /opt? #复制整个abc目录
rsync -avz /abc/ /opt? #复制abc目录下的文件
?
?
1.1 本地复制的"妙用"
对一个目录下所有文件删除时,我们可以使用rm -rf 进行删除,但是rm -rf 是需要对文件进行遍历的。比较消耗资源,所以我们可使用–delete进行本地删除。
这种办法,对资源的消耗较少。
2、异地复制
配置环境
主机名 | 操作系统 | ip地址 | 所需软件 |
---|
rsync | centos7 | 192.168.58.141 | rsync | client | centos7 | 192.168.58.140 | rsync |
2.1 rsync服务器配置
关闭防火墙、核心防护、下载更新rsync服务
systemctl stop firewall systemctl disbale firewalld setenforce 0
yum -y install rsync
修改配置文件
vim /etc/rsyncd.conf
uid = root
gid = root
use chroot = yes
address = 20.0.0.55
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 20.0.0.0/24
[wwwroot]
path = /var/www/html
comment = Document Root of www.lic.com
read only = yes
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z
auth users = ydq
secrets file = /etc/rsyncd_users.db
?设置密码文件、并开启rsync服务
vim /etc/rsyncd_users.db
ydq:123
chmod 600 /etc/rsyncd_users.db
rsync --daemon
netstat -natp | grep rsync
-------------------------------
如果要关闭服务可以使用以下命令
kill $(cat /var/run/rsync.pid)
|