电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

关于备份工具rsync,你不知道的事

来源:金蝶云社区作者:金蝶2024-09-237

关于备份工具rsync,你不知道的事


小编推荐

有效的备份方案是保障系统及数据安全的重要手段,在服务器中,通常会结合计划任务、Shell脚本来执行本地备份。为了进一步提高备份的可靠性,使用异地备份是非常有必要的。比如针对测试站点的同步备份,如果想要实现快速、安全、高效的异地备份,就需要使用rsync


本期,小编就同大家说说rsync的那些事,并带大家快速上手rsync~


图1-rsync异地备份示例




1 rsync是什么


rsync是linux系统下的数据镜像备份工具


  • rsync的“两姐妹”


1)sync同步:刷新文件系统环境,强制将修改过的数据块写入磁盘,并且更新速度超级快

2)async异步:将数据先放到缓冲区,再周期性(一般是30秒)地同步到磁盘。


  • rsync的特点


  • 可以镜像保存整个目录树和文件系统;

  • 可以保存原有的权限(permission,mode)、owner、group、时间(修改时间,modify time)、软硬链接、文件acl、文件属性(atributes)信息等。

  • 传输效率高,使用同步算法,只比较变化的文件(增量备份),以下述场景为例:

    A服务器上有三个文件file1.txt、file2.txt 、file3.txt,其中file3.txt是新增的;B服务器上有二个文件file1.txt、file2.txt。

    当使用rsync实现A和B服务器之间的数据同步时,B服务器只会同步file3.txt(增量部分)。

  • 支持匿名传输,方便网站镜像;也可以做验证,加强安全。


2 rsync怎么用


步骤一:环境准备


1)关闭防火墙,相关命令如下:


systemctl stop firewalld
systemctl disable firewalld
setenforce 0


2)关闭selinux,相关命令如下:


vim /etc/selinux/config
SELINUX=disabled


3)  更改主机名称,相关命令如下:


hostnamectl set hostname postgresql.kingdeeCosmic.com
hostnamectl set hostname postgresql_backup.kingdeeCosmic.com



4)更改IP地址(静态IP),相关命令如下:


[root@comic-ptest ~] # cat /etc/sysconfig/network-scripts/ifcfg-eth0 
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
NM_CONTROLLED=yes
NETMASK=255.255.255.0
IPADDR=172.20.158.180
GATEWAY=172.20.71.1
DNS1=192.168.1.13
DNS2=192.168.1.14


5) 同步网络时间,相关命令如下:


yum -y install ntp ntpdate
ntpdate cn.pool.ntp.org


注:使用linux服务器,需要能访问广域网。


步骤二:软件配置


默认情况下,rsync只是作为一个命令来使用(备注:在查询进程时,找不到对应的服务),但是rsync提供了一种系统服务的实现方式


  • rsync以服务方式启动


rsync对外提供服务流程为:端口监听→启动服务→启动脚本→配置文件。关键步骤如下:


1)启动rsyncd服务(Centos6没有、Centos7有) ,相关命令如下:


systemctl start rsyncd&&ps -ef |grep rsync



rsyncd服务的配置文件为“/etc/rsync.config”,文件参数解析如下图所示:


图2-rsync服务配置文件参数解析



小知识:


如果rsync作为系统服务单独运行,则其底层不需要ssh服务


1. rsync默认依赖ssh访问,当ssh端口变更时,可自定义ssh通信端口,相关命令如下:


rsync -e "ssh -p 22" -av postgresql_bak_20221001.tar.gz root@192.168.10.100:/root


2. rsync ssh免密操作,相关命令如下:


ssh-keygen -t rsa -P ""ssh-copy-id root@192.168.10.100


  • rsync服务访问认证


为确保远程同步安全,需配置密码鉴权策略


1) 服务端配置操作


首先,编辑rsyncd.config,命令如下所示:


auth user = kingdee1,kingdee2 #用户名
secrets file = /etc/rsyncd.secrets #密码文件


rsyncd.secrets文件内容如下:


kingdee1:1234567
kingdee1:1234567



然后,修改密码文件权限并重启rsync服务,如下所示:


chmod 600 /etc/rsyncd.secrets
systemctl restart rsyncd



2) 客户端验证操作,命令如下所示:


rsync -av user1@192.168.10.100::app ./
password   #密码交互


步骤三:远程同步


对于远程文件同步,有以下两种方式:


方式一:Push:上传文件到远程服务端


命令格式为:rsync -av 本地文件或目录 远程服务器名称@远程服务器IP地址:目标路径,示例如下:


rsync -av postgresql_bak_20221001.tar.gz root@192.168.10.100:/opt



方式二:Pull:下载文件到本地服务器端


命令格式为:rsync -av 远程用户名@远程服务器的IP:目标文件或目录 本地存储位置,示例如下:


rsync -av root@192.168.10.100:/opt/postgresql_bak_20221001.tar.gz ./



3 rsync应用案例

3.1 定时同步备份案例


图3-定时同步备份示例


  • 服务端操作


步骤一:创建对应目录;


步骤二:将rsync作为后台程序运行,依次执行下述命令:


1)编辑rsyncd.config,如下所示:


[app]pathc = /opt/postgresql/pg_dataslog file = /var/log/rsync.log


2)启动rsync服务,如下所示:


[app]
pathc = /opt/postgresql/pg_datas
log file = /var/log/rsync.log


3)验证服务成功启动,如下所示:


netstat -tnulp|grep  873



  • 客户端操作


步骤一:创建对应目录;


步骤二:将rsync作为系统服务运行,依次执行下述命令:


1)编辑rsyncd.config,如下所示:


[app]pathc = /opt/postgresql_bak/pg_dataslog file = /var/log/rsync.log


2)重新启动rs

关于备份工具rsync,你不知道的事

小编推荐有效的备份方案是保障系统及数据安全的重要手段,在服务器中,通常会结合计划任务、Shell脚本来执行本地备份。为了进一步提高备份...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信