ESAP达摩院 思想有多远,我们就能走多远

ES异地备份简案(加密压缩)


概述

ES虽有定时备份,但为防止服务器硬盘发生故障而导致数据丢失无法恢复,我们可以采用一些异地存储的方案。

本文介绍一种局域网内的简单存储方案,除了压缩使用的WinRAR外不需任何第三方软件。

建立共享文件夹

首先,在局域网内选择一台用于存储备份的计算机,共享一个文件夹,例如D:\esbak,选择-右键-属性-共享-高级共享-勾选共享此文件夹-在共享名后加一个“$”符号,并设置好写权限。

映射网络驱动器

通过前面的设置,建立了一个隐藏的共享文件夹。在ES服务器上,映射一下网络驱动器。

方式:我的电脑-右键-映射网络驱动器,或者是进入我的电脑选工具菜单的映射。

由于共享文件夹是隐藏的,所以要手工输入路径:\共享主机名\esbak$。

其中共享主机名填前面共享文件夹的计算机名,示例中是Wyl-380。

映射成功后,可以从我的电脑直接访问这个Z盘,新建一个txt文件测试写权限。

创建备份脚本

在服务器的ES备份盘根目录(示例为C盘)建立一个空白txt文件,填入下列脚本:

@set s=c:\esdata\
@set d=z:\
@for %%F in (%s%esdbbak*.*) do (@"c:\program files\WinRAR\WinRAR.exe" u -y –hp123 -ibck %d%%%~nF.rar%s%%%~nxF)
Exit

其中c:\esdata\改为ES的备份文件所在目录,z:\改为映射的驱动器盘符。代码中的u是指更新文件,跳过已备份的文件;-y指应答全部选“是”;-hp123是加密为123,密码123可修改为其他字符;-ibck是后台运行。(c:\program files\WinRAR\WinRAR.exe是WinRAR的安装路径)

实际的作用是:将ES备份文件分别加密压缩并存放到映射盘下

然后,选择:文件-另存为-保存类型:所有文件-文件名改为:Esbak.bat。

双击运行一下,可以看到Z盘下生成的压缩备份,打开时需要密码。

创建备份计划

在服务器端,选择控制面板-计划任务-添加计划任务-选择Esbak.bat-设置每天的备份时间:

小结

  1. 设置隐藏共享文件夹可以增强信息安全。

  2. 采用WinRAR加密压缩可以减少磁盘占用,压缩后体积约为原备份文件的1/10!

  3. 采用计划任务实现无人值守自动备份。

村长补记:该方法要求服务器保持用户登录,因此需要关闭休眠等。我们可以直接用SecondCopy等软件做定时异地备份,也十分简单可靠。