一种中小企业数据自动备份方法实现

2015-09-28 02:14柏建明杜昆
现代计算机 2015年34期
关键词:批处理数据备份文件夹

柏建明,杜昆

(中色(宁夏)东方集团有限公司,宁夏 753000)

一种中小企业数据自动备份方法实现

柏建明,杜昆

(中色(宁夏)东方集团有限公司,宁夏753000)

0 引言

大型企业的数据中心一般都有专业的存储设备和备份软件来实现数据的安全备份和管理,而一般的中小企业财力所限,部署专业的备份作业和设备会有一定困难。本方案主要内容是如何利用现有的网络资源打造免费的备份工具,实现廉价高效的数据备份管理目的。不论有没有专业的存储设备,都可以使用DOS批处理命令和Windows任务计划制作属于自己的备份工具。DOS批处理命令和Windows任务计划不是新鲜事物,通过巧妙的设计,我们将备份工作所要求的参数,如:备份时间、备份内容、存储目标、保存周期独立出来,配合一个以批处理命令为主的文件来制作通用型的备份工具,在不同的主机上配置不同的参数,使用相同的备份工具来实现不同的备份目的。

1 备份工作管理需求

本方法将主要实现对文件、文件夹、Oracle数据库和SQL Server数据库的本地或异地备份。适用于Windows系统,单机或网络环境。处于网络环境中的服务器同时实现本地备份和异地备份,是最为理想的备份方式。有条件的公司可以购置存储系统搭建SAN或NAS的存储阵列来保存备份,没有条件的公司可以将大容量磁盘主机做共享来存储备份,本文不对存储空间的配置管理展开讨论。

2 备份工具的编制

建立两个文件。一个Config.ini文件,配置备份参数;一个Autobackup.com文件,编辑执行备份相关的批处理命令。

2.1备份参数的配置和传递

在固定格式的Config.ini文件中配置所需的各参数,如:数据备份后需要保存的周期、备份数据的源地址和内容、备份数据的存储目标地址、备份数据库所需的账号、密码、数据库名。Config.ini文件配置三组参数,分别确定了备份文件夹、备份数据库、备份文件三种不同备份功能的参数。以下为具体的参数说明。

keepTime:指定备份数据保存的周期(取整数,单位为月),指定周期之前的备份数据将被删除。

srcDir1,dstDir1:用于备份文件夹内容,指定备份文件夹的源和目标地址,备份文件不改名,保存在以系统日期生成的子目录下。

dstDir2,user,password,database:用于备份数据库,指定备份数据库的目标地址,向备份命令传递数据库的用户名、密码、数据库名。如果指定了database参数,就认为是SQLserver数据库,否则为Oracle数据库。数据库备份文件名格式:oracle+年月日.dmp或数据库名+年月日.bak(如果是SQLserver数据库)。

srcDir3,dstDir3,file:用于备份指定的文件,指定备份文件的源和目标地址;需要备份的具体文件(多文件可重复指定)。备份后文件名格式:年月日+原文件名。

以下为参数实例:

备份保存的周期

文件备份参数

如上所示,用户只能修改等号后的参数。文件备份功能中如果备份多个文件,可以重复指定多个file参数。备份目标地址既可以是本地磁盘,也可以是远程共享文件夹或存储系统的阵列空间。各参数在执行文件执行时按行依次被读入。

2.2执行文件的编制

主要功能是从参数文件Config.ini中读取备份参数;根据备份保存周期计算日期下限;将日期下限之前的旧备份数据删除;将被备份文件或文件夹拷贝至目标地址;导出SQL Server数据库或Oracle数据库到目标地址。

执行文件AutoBackup.com的主要内容:

(1)读取配置文件,传递除file外的其他参数

(2)将备份保存周期分解为年和月(即整年和余月),用于倒推数据保存周期的下限年月

将日期简化为年月日组合,不带分割符如20150629,用于文件命名

也可以通过m0和KeepMonth比较大小来确定月份是否向上年倒推,本文采用字符串对照表的方式推断备份周期的月份下限。

确定备份保存周期的年份下限

(3)开始备份前要判断是否存在指定的源和目标地址,以及数据库参数(此处略去相关判断代码),如果所需参数存在,则开始将备份周期之前的旧备份删除。考虑到运行的效率,不用大范围检索过期的旧备份,只检索备份周期下限月份中的过期备份,前提是我们假定备份作业每月至少被执行一次,这样可以保证不会有过期的旧备份会被保留下来。如下所示为删除过期的备份文件夹:

(4)备份指定的文件夹下全部文件,生成日期文件夹,备份文件名不变。

如果子目录为空,则删除父目录。

(5)备份数据库,如果指定了database参数,就认为是SQL Server数据库,否则为Oracle数据库。略去参数判断和过期备份的删除代码。备份SQL Server和Oracle数据库时要分别用到数据库自带的sqlcmd.exe工具和exp.exe工具,这些工具在安装数据库时已被安装在服务器上,且所在路径已被设为全局路径。

备份SQL Server数据库

备份Oracle数据库

(6)备份指定的文件,略去参数判断和过期备份的删除代码。

读取配置文件,获得file参数

3 备份作业执行方式

针对本地备份和异地备份,根据Config.ini文件中指定的目标目录,分别在本地磁盘或异地存储空间中建好对应于不同备份工作的存储目录。如果是异地共享存储,要对该目录具有读写权限;对于异地共享目录在本地映射成网络驱动器以及异地SAN存储方式,可以完全按照本地备份来对待 (因为存储空间已经映射为本地磁盘了)。

将Config.ini和AutoBackup.com文件一起放在需要数据备份的服务器上,存放位置可以任意确定。然后打开Windows管理工具中的”任务计划程序”,“创建任务”并设置好执行时间(触发器)和执行程序(操作)AutoBackup.com,并在“安全选项”中设置好用户权限。至此,就将备份工作部署好了,系统将根据任务计划中设定的时间点来自动完成备份作业。备份示意图如图1所示。

图1 备份示意图

4 结语

本方法将需要用户干预的参数独立出来,作为一个单独的配置文件由主体备份程序在执行时读取,提高了程序的灵活性和通用性。采用简洁的算法将当前时间作为为备份保存周期的日期上限,倒推计算出备份保存周期的日期下限,删除过期备份数据并备份新的备份数据。在服务器上制定任务计划来定期自动执行,可以自动、高效的执行备份作业。是系统管理员进行备份管理工作的一个很好工具,很适合一般中小企业数据中心使用。

Data Backup;Automatic Backup;Batch Processing

Method for Automatic Backup of Data in Small and Medium Sized Enterprises

BAI Jian-ming,DU Kun

(CNMC(Ningxia)Orient Group Limit Company,Shizuishan City,Ningxia 753000)

1007-1423(2015)34-0044-04

10.3969/j.issn.1007-1423.2015.34.012

柏建明(1972-),男,宁夏石嘴山人,本科,高级工程师,研究方向为网络系统集成与安全规划

2015-11-03

2015-11-16

设计一种针对中小企业数据中心数据备份的方案和实现方法。结合DOS批处理命令和Windows任务计划功能实现文件、文件夹、数据库的自动本地或异地备份以及备份文件过期自动删除。通过独立配置备份方案的参数,实现备份内容、存储目标、保存周期的灵活性和通用性。非常适合中小企业自主制定快速高效的数据备份方案。

数据备份;自动备份;批处理

杜昆(1988-),男,宁夏青铜峡人,本科,工程师,研究方向为计算机网络安全与设计

Designs a scheme and implementation method for data backup of data center for small and medium enterprises.With the DOS batch command and Windows task scheduler to achieve the file,folder,database,automatic local or remote backup and backup files expire automatically delete.The flexibility and generality of the backup contents,storage object,storage period are realized by the parameters of the independent configuration backup scheme.Very suitable for small and medium-sized enterprises independently work out fast and efficient data backup solutions.

猜你喜欢
批处理数据备份文件夹
泉州高速公路收费系统远程数据备份研究
海洋数据备份平台的设计和实现
程控交换机的数据备份与恢复技术分析
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
Fast Folders,让你的文件夹四通八达
No.4 IDC:2019年上半年数据备份与恢复市场同比增长10.0%
不装软件批处理为文件夹加锁
摸清超标源头 大文件夹这样处理
借助批处理 让Cortana变聪明
调动右键 解决文件夹管理三大难题