2、使用rsync对数据进行异地备份

本文详细介绍了如何通过rsync进行服务器数据异地备份,包括前提条件(网络连通和rsync安装)、直接传输、配置自动传输(包含配置文件、密码管理和端口设置)、业务服务器和备份服务器的设置,以及脚本自动化和定时执行的方法。
摘要由CSDN通过智能技术生成

1、概述

1、说明

目前数据异地备份的通用方案是完成服务器本地备份后将备份文件传输到异地服务器,服务器和服务器之间传输文件推荐使用rsync。

2、前提条件

1、确认业务服务器和备份服务器网络互通
2、确认每台服务器上都装有rsync,版本不限

2、部署

安装rsync:yum install -y rsync

3、数据传输

1、直接传输

说明:两台安装了rsync的服务器可以直接互相传输文件

#将本机的/data/soft/mysql目录传输到192.168.99.200的/data/backup/mysql/目录下
rsync -avz /data/soft/mysql root@192.168.99.200:/data/backup/mysql/  

注意:这样的传输方法要求输入root的密码,优点是可以传输至目标服务器的任意路径,缺点是每次传输都需要输入用户名密码。

2、配置自动传输

1、说明:为了能够使用定时脚本自动传输数据,需要将用户名密码写入配置文件。
2、备份服务器的配置

#修改备份服务器的/etc/rsyncd.conf。注意uid和gid。将数据传送到哪个服务器,就修改哪个服务器的配置文件。
uid = 0
gid = 0

[influxdb]
#数据传输目标地址
path = /data/backup/yewu/influxdb
#数据传输使用的用户
auth = qdbackup
read only = false
#数据传输使用的密码文件  
secrets file = /etc/rsync.passwd

[mysql]
path = /data/backup/yewu/mysql
auth = qdbackup
read only = false
secrets file = /etc/rsync.passwd

#解释:influxdb和mysql表示模块名称。path表示将模块的数据传输的目标路径,也就是异地服务器的备份路径。建议不同的中间件备份数据建议分别创建不同的模块,配置不同的path。
#编辑rsync使用的密码文件,写入用户名和密码,密码需要符合复杂度要求
vim /etc/rsync.passwd
qdbackup:123456
#设置密码文件的权限,重启rsync服务。确认备份服务器正常监听873端口,且防火墙已开放873端口
chmod 600 /etc/rsync.passwd
service rsyncd restart

3、业务服务器的配置

#在业务服务器上同样配置密码文件
vi /etc/rsync.passwd
qdbackup:123456
chmod 600 /etc/rsync.passwd

4、传输数据

rsync -avz /data/soft/xxxx qdbackup@192.168.xxx.xxx::influxdb --password-file=/etc/rsync.passwd

5、扩展

#测试完成后,将命令写成sh文件
#!/bin/bash
rsync -avz /data/soft/test.txt qdbackup@192.168.99.200::influxdb --password-file=/etc/rsync.passwd

#然后将脚本写入crontab,定时执行传输脚本即可
crontab -e
0 0 * * *  /data/soft/backup-remote.sh     #每天0点传输数据
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值