rsync全量备份

rsync概念-搭建-故障处理

1.概念

 Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具

2.为什么要使用rsync?

cp  本地备份
scp 远程备份
rsync 远程备份 增量备份





优缺点

 cp ,  scp , 和  rsync  都是 Linux 系统中用来复制或移动文件和目录的常用命令,它们各自有不同的应用场景和优缺点:

 cp (copy)
优点:
- 本地操作高效: cp  是本地文件系统的复制命令,执行速度快,尤其在处理大量本地文件时效率高。
- 功能全面:支持递归复制整个目录结构,可以保留原有文件属性,并且可以通过  -p  参数保留文件权限、时间戳等元数据。

缺点:
- 非网络操作: cp  无法直接用于远程文件复制,只能在本地文件系统间操作。

 scp (secure copy)
优点:
- 安全性: scp  是基于 SSH 协议的,所以在网络间复制文件时能够保证数据的安全性,加密传输。
- 简单易用:只需指定源文件/目录和目标位置,即可进行远程机器间的文件复制。

缺点:
- 全量复制:每次执行都会完整复制文件,无论文件是否有变化,因此对于大文件或已存在的未更改文件来说,可能效率较低。
- 资源占用:在网络传输过程中,特别是处理大量小文件时,可能会占用较多的网络带宽和计算资源。



 rsync
优点:
- 增量复制: rsync  支持增量复制,仅传输文件的不同部分,极大地提高了复制效率,特别适合定期备份和同步任务。
- 双向同步:既可以进行单向复制,也可以进行双向同步,并且可以检查文件的一致性。
- 节省资源:通过校验机制避免无意义的传输,减少带宽消耗;同时,可通过  -z  参数启用压缩传输进一步提升效率。
- 智能删除:在某些模式下,rsync可以删除目标目录中不再存在于源目录的文件,实现真正的同步效果。

缺点:
- 首次同步较慢:由于rsync会先比较文件内容再传输,所以对于初次同步大量文件的情况,其比较阶段可能会相对较慢。
- CPU 使用率:特别是在处理小文件时,因为需要计算文件的校验值来判断差异,可能导致CPU使用率较高。
- 复杂度:相比  cpscprsync  提供更多的选项,使用起来更复杂,需要熟悉更多参数才能发挥其全部优势。

总结:
- 当只需要在本地快速复制文件时, cp  最合适。
- 如果需要在两台远程主机间安全地传输文件,即使效率稍低, scp  仍然是首选。
- 对于大型文件、定期备份、增量同步以及希望最大程度节省资源的场景, rsync  能提供最优解决方案。


3.rsync服务部署安装(守护进程)

linux系统安装部署服务流程:
	a 下载安装软件  yum 
	b 编写配置文件
	c 搭建服务环境  备份的目录/目录权限
    d 启动服务程序	 开机自动启动
	e 测试服务功能
	
	
	
	
	服务端部署(备份服务器):rsync
     第一步:下载安装软件
	 [root@localhost ~]# yum install -y rsync
	 第二步:编写配置文件
	 [root@localhost ~]# vim /etc/rsyncd.conf
	 uid=rsync                               
     gid=rsync                               
     port=873                                
     fake super = yes                        
     use chroot = no                         
     max connections= 200                    
     timeout = 300                           
     pid file = /var/run/rsyncd.pid          
     lock file = /var/run/rsync.lock         
     log file = /var/log/rsyncd.log          
     ignore errors                           
     read only = false                       
     list = false                            
     hosts allow = 10.0.0.0/24             
     #hosts deny =             
     auth users = rsync_backup               
     secrets file = /etc/rsync.password      
     [backup]                                
     comment =" welcome to RSYNC backup"
     path = /backup                          
     第三步:创建rsync服务虚拟用户
	 [root@localhost ~]# useradd rsync -M -s /sbin/nologin
	 第四步:创建rsync服务的认证密码文件并修改权限
	 [root@localhost ~]# echo "rsync_backup:123456">/etc/rsync.password
	 [root@localhost ~]# chmod 600 /etc/rsync.password 
	 第五步:创建备份文件所需的目录并修改用户文件的属主和属组
	 [root@localhost ~]# mkdir /backup
	 [root@localhost ~]# chown rsync.rsync /backup -R
     第六步:启动备份rsync服务
	 [root@localhost ~]# systemctl start rsyncd
     [root@localhost ~]# systemctl enable rsyncd


客户端部署(网站服务器):rsync  配置文件不用改默认即可
     第一步:下载安装软件
	 [root@localhost ~]# yum install -y rsync
	 第二步:创建一个密码文件
	 [root@localhost ~]# echo "123456" >/etc/rsync.password
	 [root@localhost ~]# chmod 600 /etc/rsync.password
     第三步:测试用免交互方式同步文件
	 [root@localhost ~]# rsync -avz /oldboy/* rsync_backup@10.0.0.25::backup --password-file=/etc/rsync.password
	 
	 
	 
	 
	 
	 
	 
	 

4.全量备份


rsync -avz /oldboy/* rsync_backup@10.0.0.25::backup --password-file=/etc/rsync.password



直接对拷目录,实现全量备份

posted @   三思博客  阅读(84)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示