当前位置: 首页 > 工具软件 > cwRsync > 使用案例 >

使用Rsync+cwRsync实现数据异机备份+异地备份

黄意智
2023-12-01

使用Rsync+cwRsync实现数据异机备份+异地备份

背景描述:
公司有十来台服务器,其中含有数据库、应用服务器、FTP服务器、文件共享服务器,其中有windows Server服务器、Linux服务器,考虑到数据安全!
为达到数据备份目的我们先在同局域网做数据异机备份,在异机的基础上再实现数据的异地备份,服务器我们使用Linux,Windows Server 数据同步我们采用rsync+cwRsync实现文件同步备份,Linux-linux使用rsync!

一、什么是rsync
sync,remote synchronize 顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync 是用 “rsync 算法” 提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过 ssh 方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。

rsync 包括如下的一些特性:
能更新整个目录和树和文件系统
有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等
对于安装来说,无任何特殊权限要求
对于多个文件来说,内部流水线减少文件等待的延时
能用 rsh、ssh 或直接端口做为传输入端口
支持匿名 rsync 同步文件,是理想的镜像工具

二、在Linux上搭建rsync服务器
①、安装rsync服务器

yum -y install rsync
systemctl enable rsyncd
systemctl start rsyncd

查看服务状态

[root@Data-Backup ~]# systemctl status rsyncd
● rsyncd.service - fast remote file copy program daemon
   Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-12-01 09:58:47 CST; 30min ago
 Main PID: 31454 (rsync)
    Tasks: 1
   Memory: 5.2G
   CGroup: /system.slice/rsyncd.service
           └─31454 /usr/bin/rsync --daemon --no-detach

Dec 01 09:58:47 Data-Backup systemd[1]: Started fast remote file copy program daemon.

②、修改rsync服务器端配置文件
rsync 的主要有以下三个配置文件 rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc服务器显示信息)

[root@Data-Backup ~]# cat /etc/rsyncd.conf 
# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
uid = nfsuser #rsync 启动用户,同步备份的目录属主需要修改为该用户,否则会报没有权限!
gid = nfsuser #rsync 组
use chroot = yes
# max connections = 4
pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
log file = /var/log/rsyncd.log
port = 5286  #修改rsync默认端口,安全为上尽量不要使用默认端口!
# [ftp]
#        path = /home/ftp
#        comment = ftp export area
[bakup-11]
   path = /opt/nfs_data/test/172.16.1.11/jenkins  #备份目录
   comment = k8s_11
   read only = no
   list=no
   auth user= creditroot  #认证用户
   hosts allow = 172.16.1.11 #允许连接的IP地址

③、创建账号密码文件,并授予600权限!

[root@mirror ~]# cat /etc/rsyncd.secrets 
creditroot:************
slieoruser:************

④、创建同步备份目录,并修改属主为配置中设置的用户,本位为nfsuser

[root@mirror ~]# mkdir -p /opt/nfs_data
[root@mirror ~]# chown -R nfsuser:nfsuser /opt/nfs_data/ #修改文件夹属主

三、下载配置cwRsync作为windows数据同步备份客户端
已上传百度网盘
链接:https://pan.baidu.com/s/1MvDZM0E6CcQp7vpPMcsu9w
提取码:bahc
复制这段内容后打开百度网盘手机App,操作更方便哦

或通过官网下载https://www.itefix.net/cwrsync

新建bat脚本执行rsync同步更方便!

D:\Soft\cwRsync\rsync -avz --port=5286 --progress /cygdrive/d/Services --bwlimit=1000 --password-file=/cygdrive/d/Soft/cwRsync/rsync.ps creditroot@10.20.11.127::bakup-123
#软件目录   
#D:\Soft\cwRsync\rsync
#同步参数
# -avz
#同步端口 
# --port=5286 如果是默认端口可以去掉!                  
#需要同步的本地目录
#/cygdrive/d/Services
#同步认证密码
#--password-file=/cygdrive/d/Soft/cwRsync/rsync.ps
#同步认证的用户,rsync服务器地址,同步模块名称
#creditroot@10.20.11.127::bakup-123

以上软件下载好,配置好密码文件,建好bat脚本就可以运行看看效果了!
为了达到定期备份的目的,可以通过window任务计划添加计划定期执行同步备份
关于windows下添加任务计划定制执行bat脚本可以参考:https://blog.csdn.net/qq1049/article/details/78676504

四、linux安装rsync作为备份客户端

①、安装rsync

yum -y install rsync

②、同样作为客户端只需要新建一个密码文件,并给与600权限

[root@mirror ~]# cat /etc/rsyncd.secrets 
creditroot:************
slieoruser:************

③、从rsync拉取文件到本地服务器

rsync -avz --password-file=/root/passwd  admin@192.168.204.130::common /tmp

④、将本地文件同步备份到rsync服务器

rsync -avz --port=5286 --password-file=/etc/rsyncd.secrets /opt/nfs_data creditroot@192.168.204.130::backup-production

登录rsync服务器查看备份目录是否有文件进来,以上就以达到数据备份的目的了。

五、异地备份
这一步就很简单了,在阿里云购买一台服务器安装好rsync作为服务器端,将备份服务器的备份数据同步到阿里云异地备份就OK了!

 类似资料: