数据库备份定期删除程序的开发。

发布时间:2017-2-28 3:09:01 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"数据库备份定期删除程序的开发。 ",主要涉及到数据库备份定期删除程序的开发。 方面的内容,对于数据库备份定期删除程序的开发。 感兴趣的同学可以参考一下。

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

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

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

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

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

第六:可以应用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天前的备份!");                                    }

上一篇:ASP.NET五步打包下载Zip文件
下一篇:如何用 JIRA REST API 创建 Issue

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。