第一.最近客户的服务器数据库备份每天都在进行,随着数据量的不断的增加,备份也在不断的进行变大。

第二.于是一些问题就出现了客户的服务器的磁盘的空间有限,定期数据库备份文件太大而导致无法进行保存问题。

第三.从而导致了服务器宕机以及服务器中一些应用程序以及网站无法使用等等。

第四.所以需要进行解决这个问题就需要开发一个应用程序进行定期的删除数据库的备份以及其他的文件。

第五.在进行删除数据库的备份的时候需要注意是的删除设置的几天前的数据库备份,其他最新的数据库的备份的文件不要删除。

第六:可以应用Windows服务进行开发定时删除数据库备份的应用的程序,也可以进行应用控制台开发定时删除数据库的备份的程序当然如果应用控制台应用程序进行开发,那么最好进行结合Windows 系统自带的计划任务程序比较方便。当然你是可以进行选择的,因人而异。

第五.那么如果做到删除指定的数据库备份文件例如DB2,DBName.0.DB2.DBPART000.20161010153053.001等等以及SQLServer DbName.bak等等

以及MySql数据库的备份文件等等,以及其他的文件格式都是支持的。

第七.那么解决这个问题我需要做的是:

1.首先需要找到数据库备份文件的路径将其读取出来,当然这里所知的路径是指物理路径。

2.需要做的是将数据库的文件的名称以及数据库备份的时间进行读取出来,为了方便取出最新的以及几天前的数据库备份。

3.当然你还需要进行应用File文件类中的一些具体的删除的方法。来进行删除。

第八:下面我将自己写的定期删除数据库备份控制台应用程序贴出来供大家参考。

定期的进行删除数据库备份文件代码如下

class Program
{static void Main(string[] args){string strDirfile = Properties.Settings.Default.DB_FILE_PATH;Console.WriteLine("strDirfile{0}", strDirfile);int keepFileCnt = int.Parse(Properties.Settings.Default.KEEP_FILE_CNT);try{if (string.IsNullOrEmpty(strDirfile) || !Directory.Exists(strDirfile)){Console.WriteLine("配置的文件的路径不正确请检查{0}" + strDirfile);}if (keepFileCnt <= 0){Console.WriteLine("没有配置删除的天数");}if (strDirfile != null){if (Directory.Exists(strDirfile)){string[] strDirs = Directory.GetDirectories(strDirfile);string[] strFiles = Directory.GetFiles(strDirfile);DBNameAndTime file = new DBNameAndTime();if (strFiles != null){foreach (string strFile in strFiles){if (strFile != null){FileInfo fi = new FileInfo(strFile);string[] strArr = fi.Name.Split('.');file.DataName = fi.Name; file.FileTime = strArr[5]; file.Url = strFile;DateTime dt1 = DateTime.Now; if (strArr.Length > 0){IFormatProvider provider = new CultureInfo("zh-CN");string tarStr = "yyyyMMddHHmmss";DateTime dt2 = DateTime.ParseExact(file.FileTime.ToString(), tarStr, provider);TimeSpan ts = dt1 - dt2;Console.WriteLine("时间天数:{0}", ts);if (ts.TotalDays >= keepFileCnt){if (strFile != null){File.Delete(strFile);using (StreamWriter sw = new StreamWriter(strDirfile + "数据库备份的删除日志.txt", true)){sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "数据库备份删除开始:" + "删除的路径:" + strDirfile + "删除数据库备份的名称" + strFile);}Console.WriteLine("{0}数据库备份文件删除成功!", DateTime.Now);}else{Console.WriteLine("删除文件失败!");}}else{Console.WriteLine("其他的备份文件都是最新的没有3天前的备份!");}}}}}//保存删除的根目录的文件夹foreach (string strdir in strDirs){Directory.Delete(strdir, true);}}else{Console.WriteLine("此目录中只有根目录了!");}}else{Console.WriteLine("此目录不存在!");}}catch (Exception ex){//将数据库备份的异常写入到记事本中using (StreamWriter sw = new StreamWriter(strDirfile + "数据库备份的删除日志.txt", true)){sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "备份文件都是最新的没有3天前的备份" + ex.Message);}}}}
//进行声明备份数据库的类
public class DBNameAndTime
{private string fileName;/// <summary>/// 文件名称/// </summary>public string FileName { get { return fileName; } set { fileName = value; } }private string fileTime;/// <summary>/// 文件的最后修改时间/// </summary>public string FileTime { get { return fileTime; } set { fileTime = value; } }private string dataName;/// <summary>/// 数据库名称/// </summary>public string DataName { get { return dataName; } set { dataName = value; } }private string url;/// <summary>/// 文件路径/// </summary>public string Url { get { return url; } set { url = value; } }public string DownUrl { get { return fileName; } }
}

以上内容均属于原创,转载请标明。谢谢!

  

转载于:https://www.cnblogs.com/LowKeyCXY/p/6099400.html

数据库备份定期删除程序的开发。相关推荐

  1. python操作微信小程序云端数据库_微信小程序云开发之数据库操作

    本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下 新建集合 1.打开云开发控制台,数据库 2.添加集合users 添加代码 onAdd: function () { ...

  2. Linux下超简单的Mysql自动备份+定期删除之前备份文件脚本

    引言: 前段时间闹得沸沸扬扬的"微盟"事件,让人们更加明白了数据安全的重要性.一个企业数据丢失会付出很大的代价,最坏的情况下,丢失数据可能会导致企业的崩溃.根据国家档案与记录管理局 ...

  3. SQL数据库备份与删除

    下面将介绍SQL Server自带的数据库备份方法,希望可以帮助大家解决日常备份. 第一步:登录数据库->管理->维护计划->维护计划向导 第二步:输入维护计划"名称&qu ...

  4. python操作微信小程序云端数据库_微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序...

    微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序 浏览量:1120 时间:2020-04-06

  5. linux mysql数据库备份并删除前一分钟的数据

    linux 中mysql数据库定时备份并删除前一分钟的所有数据 #!/bin/bash #mysqldump -uroot -ppassword01! imaginebase > /home/b ...

  6. 数据库设置定期删除14天前的数据

    1.写一个存储过程 对应的是phpmyadmin中选择好数据库后程序的内容 create procedure del_data() BEGIN DELETE FROM table WHERE crea ...

  7. dm归档文件配置、sql 日志的开启和关闭以 及基本的操作、创建定时备份和删除备份的作业、数据库物理、逻辑备份还原

    1.达梦数据库中归档文件配置. 生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法: 设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB). 定期删除归档日志(设置定时作 ...

  8. pgsql数据库自动备份、删除及恢复

    参考文章:点此跳转 第一部分:数据库备份与删除 步骤一:编写备份脚本 mkdir /home/postgresql_backup cd /home/postgresql_backup vim pgsq ...

  9. mysql数据库备份工具expdb_expdp 备份数据库

    操作系统层面创建目录 [root@Oracle10g ~]# mkdir -p /home/oracle/db_back/ 2. 修改目录的所属用户.所属组 [root@Oracle10g ~]#ch ...

最新文章

  1. MySQL学习笔记_7_MySQL常用内置函数
  2. python反射和高阶内置方法
  3. MappedByteBuffer的使用
  4. mysql查看表内容 很乱_mysql常用命令--15.10.14记录,内容有点乱
  5. MySQL5.6免安装配置与“系统找不到指定的文件”错误
  6. python matplotlib简单使用
  7. html界面左侧没有顶格,求解,html页面顶部有空白??
  8. vb脚本从入门到精通_sqlmap从入门到精通第七章720 绕过WAF脚本space2morecommentamp;space2morehash...
  9. linux 离线 svn插件安装,Eclipse离线安装svn插件
  10. 自定义元素探秘及构建可复用组件最佳实践 1
  11. java路径通配符_java实现路径通配符*,**,?
  12. htc a620d 刷android,续航以及最后的总结_HTC A620d - CNMO
  13. ibm arm-linux,CentOS Linux 7.5 (build 1804) 现可用于IBM POWER9体系结构
  14. Spring集成Hprose
  15. Vue + Spring Boot 项目实战(一):项目简介
  16. 网关、路由器、交换机
  17. brew 特别慢 解决方案
  18. photoshop中如何在6寸相纸上打印1寸照片12张3X4模式(手动拖动模式)
  19. Java编程题(3)
  20. 值得收藏-装修攻略全

热门文章

  1. Top 15 不起眼却有大作用的 .NET功能集
  2. iOS下JS与OC互相调用(三)--MessageHandler
  3. hadoop生态搭建(3节点)-06.hbase配置
  4. 数造未来——探索大数据的应用价值
  5. WebSocket 协议
  6. 在windows中创建一个影子用户
  7. 30个在线学习设计与开发的站点
  8. C#系列五《多样化的程序分支》
  9. 《父亲家书》选:给初为人师的儿子
  10. 地图测量面积工具app_全站仪的使用面积测量