博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BI项目简单备份策略
阅读量:6693 次
发布时间:2019-06-25

本文共 3514 字,大约阅读时间需要 11 分钟。

在项目的开发中,备份是一个很重要的操作和良好的开发习惯,下面我们就针对BI相关项目的备份说一下备份策略

前端:Cognos

后端:SSIS+View+Procedure

服务器A装了Cognos内容库,Cognos 相关组件

服务器B部署了DW和ETL

下面我们就来说一说备份步骤

1:备份Cognos相关内容

 Cognos内容库+cognos模型文件(FM/TR)

 Cognos用户认证

2:备份DW相关内容

ODS库+DW库+SSIS工程文件

----------------------------------------------可能用到的相关技术1---------------------------------------------------------------------------------------

备份SQLSERVER数据库的存储过程脚本

USE [Cognos_Logn]GO/****** Object:  StoredProcedure [dbo].[BackupDatabase]    Script Date: 08/13/2015 15:47:21 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[BackupDatabase] asDECLARE @FullPath varchar(1000) DECLARE @FolderPath varchar(1000) set @FolderPath='E:\cognos_backup\'set @FullPath = @FolderPath+ 'Cognos_Logn_'+replace(CONVERT(char(10),GETDATE(),120),'-','')+ '.bak'backup database [Cognos_Logn] to disk=@FullPath WITH INIT returnGO

把需要备份的模型文件copy到指定目录的DOS命令,文件名按20150813的格式

@echo offecho 备份开始...echo 开始时间 %date%  %time% >E:\cognos_backup\Model_%date:~0,4%%date:~5,2%%date:~8,2%.logxcopy/e/h/r/y "D:\EWELL_BI\ewell_projects" "E:\cognos_backup\Model_%date:~0,4%%date:~5,2%%date:~8,2%\" >>E:\cognos_backup\Model_%date:~0,4%%date:~5,2%%date:~8,2%.logecho 备份结束...echo 结束时间 %date%  %time% >>E:\cognos_backup\Model_%date:~0,4%%date:~5,2%%date:~8,2%.log

----------------------------------------------可能用到的相关技术1---------------------------------------------------------------------------------------

有了上面的代码再加上SQLServer的代理服务以及window的任务计划。我们1和2的备份都可以实现在A和B上面分别把Cognos相关备份的数据库文件每天备份到A服务器的E:\cognos_backup,以及把DW相关的ETL程序和数据

仓库备份到B服务器的E:\dw_backup下面

截止目前我们已经完成了在serverA和serverB上面的本地不同目录备份,增加了开发过程的安全性,那么这样的话还是不安全的,如果A和B有一台挂掉,或者硬盘不可恢复

的话,还是会给项目带来很大的麻烦,接下来我们就要实现在ServerA和ServerB上面实现对对应用服务器和数据服务器的相互备份

效果:即ServerA上面有cognos_backup+dw_backup ,ServerB上面也有cognos_backup+dw_backup 

so,go!

经过上面的操作,我们已经实现了ServerA上面有cognos_backup,ServerB上面有dw_backup的效果

接下来我们要做的就是

1:每天定时把ServerB上面的dw_backup复制到ServerA上面

2:每天定时把ServerA上面的cognos_backup复制到ServerB上面

那么接下来我们就需要window 定时远程复制的脚本

----------------------------------------------可能用到的相关技术2---------------------------------------------------------------------------------------

echo 注册远程会话开始时间 %date% %time% >E:\bi_backup\dw_backup.lognet use \\serverB\dw_backup /user:"admin" "123" >>E:\bi_backup\dw_backup.logecho 注册远程会话结束时间 %date% %time% >>E:\bi_backup\dw_backup.logecho 复制开始时间 %date% %time% >>E:\bi_backup\dw_backup.logxcopy /e  /y \\serverB\dw_backup\* E:\bi_backup\dw_backup >>E:\bi_backup\dw_backup.logecho 复制结束时间 %date% %time% >>E:\bi_backup\dw_backup.lognet use * /del /y >>E:\bi_backup\dw_backup.logecho 注销远程会话 %date% %time% >>E:\bi_backup\dw_backup.log

代码解释1:

net use \\serverB\dw_backup /user:"admin" "123"

上面的命令是注册远程会话信息到服务器所分享的目录,需要注意的是

代码解释2:

echo 注册远程会话开始时间 %date% %time% >E:\bi_backup\dw_backup.log

上面的命令是把执行时间相关信息输出到指定日志文件中,需要注意的是>是代表覆盖原来文件的内容.>>是在原来文件中追加内容

由于上面的命令是文件中的第一个写入操作所以这里是覆盖,后面的写入为追加>>

代码解释3:

xcopy /e  /y \\serverB\dw_backup\* E:\bi_backup\dw_backup >>E:\bi_backup\dw_backup.log

上面的命令是复制serverB上目录dw_backup下面的所有内容到本地的E:\bi_backup\dw_backup目录下

/e是复制所有目录和子目录,包括空目录的内容

/y是默认覆盖,如果存在相同的文件或者文件夹

具体可参考

代码解释4:

net use * /del /y

上面的命令是注销远程会话信息,需要注意的是这一步骤是不可缺少的,如果我们执行了上面的命令,不注销远程会话信息,那么就会对远程服务造成安全隐患

/y 是每次都默认注销,如果不设置此参数,DOS窗口会提示我们手工选择是否确认注销会话信息

----------------------------------------------可能用到的相关技术2---------------------------------------------------------------------------------------

经过上面的操作,加上window系统的任务计划,我们就可以实现serverA 和 serverB互相备份,以达到ServerA上面有cognos_backup+dw_backup ,ServerB上面也有cognos_backup+dw_backup 的效果

我们看serverA 上面cognos的相关备份

 

dw的相关备份

 

转载地址:http://pkcoo.baihongyu.com/

你可能感兴趣的文章
Spring+SpringMVC+MyBatis深入学习及搭建(九)——MyBatis和Spring整合
查看>>
javascript对象
查看>>
中国版Azure支持那些版本号Linux
查看>>
HDU 4858 项目管理
查看>>
SQL基础(一)
查看>>
python Robot Framework用法总结(转)
查看>>
jsp清除缓存
查看>>
javascript中this指向的理解(转载)
查看>>
linux 二级域名设置
查看>>
微信多客服插件获取openid
查看>>
java获得CPU使用率,系统内存,虚拟机内存等情况
查看>>
Vue项目搭建
查看>>
shell基础 -- 基本正则表达式
查看>>
METO CODE 223 拉力赛
查看>>
修改NavigationView中的Item的Icon大小
查看>>
协议类接口 - I2C
查看>>
Java生成二维码--QRGen
查看>>
数据集搜集整理
查看>>
总结:树与二叉树的学习
查看>>
easyui中对数据的判断来显示,formatter控制
查看>>