如何开发应用程序将客户服务器数据库的备份,下载到本地的云服务上?
2016-11-17 16:49
405 查看
---恢复内容开始---
如何做到将客户服务器数据库的备份,下载到本地的云服务上? 在开发这个程序中中途也遇到了一下问题,下面我将自己如何进解决的办法写出来供大家参考。
一.首先我需要进行描述一下问题:
1.比如有两台服务器A,B(云服务器) 将A中的服务器中的数据库的备份进行下载到B的云服务中并保存。
2.当然这台A服务器的外网是可以进行访问,如果外网访问不了的话,那也是没有办法的。
3.然后在B服务器中定期的进行删除数据库备份,定时的下载。并进行保存最新一个星期的数据库备份。
4.在云服务需要保存最新的数据库备份,当然不止一个数据库备份了,并进行定期的删除以及下载。
二:遇到的一些问题:
1.WebServices安全通道建立信任关系的异常。
2.数据库备份过大问题,无法下载。采用文件流的方式进行压缩。
3.在做定时删除以及下载的程序的时候使用Windows服务开发还是使用控制台然后挂在任务计划程序上。
4.如何进行读或者取数据库备份。通过FilesGetter.GetFiles(_fileDir, filter)方法。
5.压缩问题等等。应用BZip2.Compress(srcFile, zipFile, 8192);进行压缩以8M为一个压缩块。
6.备份策略,每天,每周,每月。应用任务计划程序。
二:需要的使用那些技术:
1.经过考虑了一下需要创建一个WebServices。
2.需要创建3个控制台应用程序其中分别包括(下载控制台应用程序,删除的控制台应用程序,压缩的控制台应用程序)。
3.文件流的使用,webClient 的应用等等
三:整个下载过程的流程图
创建控制台应用程序进行远程下载通过获取WebServices 返回的List<string>URL 集合进行下载
4.当所用的程序开发完毕后那么就可以进行测试了,首先需要进行在任务计划程序中进行部署计划任务将.exe 程序添加其中,并进行设置确定的时间。
5.当所用的计划任务程序都进行部署完成后那么需要将webServices进行托管到IIS上。
6.当这些任务完成后那么就可以了下载数据库备份了。
7.下一篇博客我将介绍一下如何解决定期的删除数据库的备份文件以及定期删除其他文件问题 。 以上内容均属于原创,转载请标明。谢谢! - 2016.11.17
如何做到将客户服务器数据库的备份,下载到本地的云服务上? 在开发这个程序中中途也遇到了一下问题,下面我将自己如何进解决的办法写出来供大家参考。
一.首先我需要进行描述一下问题:
1.比如有两台服务器A,B(云服务器) 将A中的服务器中的数据库的备份进行下载到B的云服务中并保存。
2.当然这台A服务器的外网是可以进行访问,如果外网访问不了的话,那也是没有办法的。
3.然后在B服务器中定期的进行删除数据库备份,定时的下载。并进行保存最新一个星期的数据库备份。
4.在云服务需要保存最新的数据库备份,当然不止一个数据库备份了,并进行定期的删除以及下载。
二:遇到的一些问题:
1.WebServices安全通道建立信任关系的异常。
2.数据库备份过大问题,无法下载。采用文件流的方式进行压缩。
3.在做定时删除以及下载的程序的时候使用Windows服务开发还是使用控制台然后挂在任务计划程序上。
4.如何进行读或者取数据库备份。通过FilesGetter.GetFiles(_fileDir, filter)方法。
5.压缩问题等等。应用BZip2.Compress(srcFile, zipFile, 8192);进行压缩以8M为一个压缩块。
6.备份策略,每天,每周,每月。应用任务计划程序。
二:需要的使用那些技术:
1.经过考虑了一下需要创建一个WebServices。
2.需要创建3个控制台应用程序其中分别包括(下载控制台应用程序,删除的控制台应用程序,压缩的控制台应用程序)。
3.文件流的使用,webClient 的应用等等
三:整个下载过程的流程图
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //通过代码进行建立SSL认证关系否则会出现未能为 SSL/TLS 安全通道建立信任关系. 6 ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; 7 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; }); 8 WebClient client = new WebClient(); 9 DbFileUrlProviderSvc.DbFileProviderSoapClient svcClient = new DbFileUrlProviderSvc.DbFileProviderSoapClient(); 10 DbFileUrlProviderSvc.ArrayOfString latstFileUrlArray = svcClient.GetDbFile(); 11 string receivePath = Properties.Settings.Default.LOCAL_PATH;//公司的云服务器保存下载文件的路径 12 try 13 { 14 // 对从svc取出的url循环下载获取最新的文件 15 if (receivePath != null) 16 { 17 if (latstFileUrlArray != null) 18 { 19 foreach (var downloadPath in latstFileUrlArray.ToList()) 20 { 21 //将下载的文件进行保存到指定的文件夹 22 if (downloadPath != null) 23 { 24 //将数据库备份的日志写入到记事本中去 25 using (StreamWriter sw = new StreamWriter(receivePath + "数据库下载的日志.txt", true)) 26 { 27 sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "数据库备份下载开始:" + "下载的路径:" + downloadPath + "接收的路径:" + receivePath + "下载文件的名称:" + Path.GetFileName(downloadPath)); 28 } 29 //下载数据库备份文件 30 Console.WriteLine("数据库备份压缩包下载开始{0}!", DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss")); 31 client.DownloadFile(downloadPath, receivePath + Path.GetFileName(downloadPath)); 32 Console.WriteLine("恭喜你备份{0}文件时间{1}下载完成,进入本地{2}下面进行查看!", Path.GetFileName(downloadPath), DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss"), receivePath); 33 } 34 } 35 } 36 } 37 } 38 catch(Exception ex) 39 { 40 //将数据库备份的日志写入到记事本中去 41 using (StreamWriter sw = new StreamWriter(receivePath + "数据库下载的日志.txt", true)) 42 { 43 sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "数据库备份下载中进行捕捉的异常:"+ex.Message); 44 } 45 } 46 47 } 48 49 }
创建控制台应用程序进行远程下载通过获取WebServices 返回的List<string>URL 集合进行下载
4.当所用的程序开发完毕后那么就可以进行测试了,首先需要进行在任务计划程序中进行部署计划任务将.exe 程序添加其中,并进行设置确定的时间。
5.当所用的计划任务程序都进行部署完成后那么需要将webServices进行托管到IIS上。
6.当这些任务完成后那么就可以了下载数据库备份了。
7.下一篇博客我将介绍一下如何解决定期的删除数据库的备份文件以及定期删除其他文件问题 。 以上内容均属于原创,转载请标明。谢谢! - 2016.11.17
相关文章推荐
- PHP使用外部命令导出数据库,备份到服务器并下载到本地
- 数据库备份之_如何将备份的数据包下载到本地
- PHP使用外部命令导出数据库,备份到服务器并下载到本地
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- 【方正中间件】用平台如何进行连远程服务器开发(JAVA版本/数据库SQLServer)
- 教你怎么把服务器上的数据库备份到本地计算机
- Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
- 如何在VC中使用ADO开发数据库应用程序
- ASP.NET或者VB.NET开发自动备份数据库应用程序
- 【方正中间件】用平台如何进行连远程服务器开发(.net版本/数据库SQLServer)
- SQL Server如何备份远程数据库到本地
- 关于如何通过SSH隧道通过本地软件(plsql,SQLyog等)远程维护服务器数据库(oracle,mysql等)的小技巧
- 如何备份和还原虚拟主机上的数据库到本地
- 如何查看远程服务器的监听服务监听了哪些数据库服务?
- 将本地数据库备份到服务器上(存储过程)
- SQL SERVER将远程服务器的数据库备份到本地文件夹
- 装VS2003遇到的错误:此计算机上缺少本地WEB应用程序和WEB服务开发所需的组件
- 如何备份和还原虚拟主机上的数据库到本地
- 如何每天定时将服务器中SQL SERVER 2000数据库备份到局域网中另一台工作站上
- 教你怎么把服务器上的数据库备份到本地计算机