北京赛车单双技巧 北京赛车pk10黑客软件 北京pk10计划免费软件 pk10前二做号工具 pk10专业预测 pk10民间高手 北京pk10挂机选号经验分享模式 pk10冠军3码倍投计划 北京赛车计划app手机版 北京赛车开奖软件 pk10最牛稳赚模式最新 pk10全天免费计划 易算北京pk10准不准 pk10赛车7码技巧 pk10八码滚雪球3期一收

【原創】日志文件清理工具V1.0

8/3/2015來源:C#應用人氣:653

【原創】日志文件清理工具V1.0

最近公司的系統服務器經常出現磁盤空間不足的情況,登陸服務器發現原來是公司的HR系統日志造成的(插個話題:我們公司的HR系統都實施兩年多了還沒上線,且不說軟件功能如何,服務太TMD差勁了,更可氣的是軟件顧問把系統的組織架構都實施錯誤了,造成公司的大部分模塊使用了一年的數據都得重新再錄入。),原來這個系統每天的日志文件都自動保存在服務器C盤,時間久了,造成磁盤空間不足。不指望軟件商再改程序,畢竟這些歷史日志文件關鍵時候還是很有用的,但時間太久的肯定留著也沒用。還有就是也不能每天都登陸服務器去看磁盤空間情況。干脆自力更生,自己做個小程序實現自動清理服務器日志信息。

日志文件格式是按照時間自動生成的文本文件,這個知道了就好說了。無非就是定時刪除幾天的前的文本文件,然后用xml保存配置信息。

刪除日志代碼:

/// <summary>        /// 定期刪除日志       /// </summary>        /// <param name="strPath">日志路徑</param>       /// <param name="days">天數</param>        public static void DeleteLog(string strPath,int days)        {            if (Directory.Exists(strPath))            {                DirectoryInfo dinfor = new DirectoryInfo(strPath);                FileInfo[] files = dinfor.GetFiles();                foreach (FileInfo file in files)                {                    try                    {                        //刪除創建日志日期是幾天前的日志                        if (DateTime.Compare(file.CreationTime.AddDays(days), DateTime.Now) < 0)                        {                            file.Delete();                        }                        //刪除最后修改日志日期是幾天前的日志                        if (DateTime.Compare(file.LastWriteTime.AddDays(days), DateTime.Now) < 0)                        {                            file.Delete();                        }                        //刪除日志名稱日期是幾天前的日志                        if (DateTime.Compare(Convert.ToDateTime(file.Name.Substring(0, 8)), DateTime.Now.AddDays(-days)) < 0)                        {                            file.Delete();                        }                    }                    catch (Exception ex)                    {                        continue;                    }                }            }        }

XML文件幫助:

#region Xml基本操作        //實例化Xml文檔         PRivate static XmlDocument xmlDoc;        /// <summary>        /// 加載xml文件        /// </summary>        /// <param name="path">XML文件路徑</param>        /// <param name="rootNode">根節點</param>        public static void LoadXml(string path, string rootNode)         {             xmlDoc = new XmlDocument();             //判斷xml文件是否存在             if (!System.IO.File.Exists(path))             {                 //創建xml 聲明節點                 XmlNode xmlnode = xmlDoc.CreateNode(System.Xml.XmlNodeType.XmlDeclaration, "", "");                 //添加上述創建和 xml聲明節點                 xmlDoc.AppendChild(xmlnode);                 //創建xml dbGuest 元素(根節點)                 XmlElement xmlelem = xmlDoc.CreateElement("", rootNode, "");                 xmlDoc.AppendChild(xmlelem);                 try                 {                     xmlDoc.Save(path);                 }                 catch (Exception ex)                 {                     throw ex;                 }                 xmlDoc.Load(path);             }             else             {                 //加載xml文件                 xmlDoc.Load(path);             }         }        /// <summary>        /// 添加xml子節點        /// </summary>        /// <param name="path">xml文件的物理路徑</param>        /// <param name="node_root">根節點名稱</param>        /// <param name="node_name">添加的子節點名稱</param>        /// <param name="node_text">子節點文本</param>        public static void AddElement(string path, string node_root, string node_name, string node_text)        {            LoadXml(path, node_root);            XmlNodeList nodeList = xmlDoc.SelectSingleNode(node_root).ChildNodes;//獲取bookstore節點的所有子節點            //判斷是否有節點,有節點就遍歷所有子節點,看看有沒有重復節點,沒節點就添加一個新節點            if (nodeList.Count > 0)            {                foreach (XmlNode xn in nodeList)//遍歷所有子節點                 {                    XmlElement xe = (XmlElement)xn;//將子節點類型轉換為XmlElement類型                    if (xe.Name != node_name)                   {                    XmlNode xmldocSelect = xmlDoc.SelectSingleNode(node_root);   //選中根節點                    XmlElement son_node = xmlDoc.CreateElement(node_name);    //添加子節點                     son_node.InnerText = node_text;    //添加節點文本                    xmldocSelect.AppendChild(son_node);       //添加子節點                    xmlDoc.Save(path);          //保存xml文件                    break;                   }                }            }            else            {                XmlNode xmldocSelect = xmlDoc.SelectSingleNode(node_root);   //選中根節點                XmlElement son_node = xmlDoc.CreateElement(node_name);    //添加子節點                 son_node.InnerText = node_text;    //添加節點文本                xmldocSelect.AppendChild(son_node);       //添加子節點                xmlDoc.Save(path);          //保存xml文件            }        }        /// <summary>        /// 添加xml子節點        /// </summary>        /// <param name="path">xml文件的物理路徑</param>        /// <param name="node_root">根節點名稱</param>        /// <param name="node_name">添加的子節點名稱</param>        /// <param name="node_text">子節點文本</param>        /// <param name="att_name">節點屬性名稱</param>        /// <param name="att_value">節點屬性值</param>        public static void AddElement(string path, string node_root, string node_name, string node_text, string att_name, string att_value)        {            LoadXml(path, node_root);            XmlNodeList nodeList = xmlDoc.SelectSingleNode(node_root).ChildNodes;//獲取bookstore節點的所有子節點            //判斷是否有節點,有節點就遍歷所有子節點,看看有沒有重復節點,沒節點就添加一個新節點            if (nodeList.Count > 0)            {                foreach (XmlNode xn in nodeList)//遍歷所有子節點                 {                    XmlElement xe = (XmlElement)xn;//將子節點類型轉換為XmlElement類型                     if (xe.GetAttribute(att_name) != att_value)                    {                        XmlNode xmldocSelect = xmlDoc.SelectSingleNode(node_root);   //選中根節點                        XmlElement son_node = xmlDoc.CreateElement(node_name);    //添加子節點                         son_node.SetAttribute(att_name, att_value);     //設置屬性                        son_node.InnerText = node_text;    //添加節點文本                        xmldocSelect.AppendChild(son_node);       //添加子節點                        xmlDoc.Save(path);          //保存xml文件                        break;                    }                }            }            else            {                XmlNode xmldocSelect = xmlDoc.SelectSingleNode(node_root);   //選中根節點                XmlElement son_node = xmlDoc.CreateElement(node_name);    //添加子節點                 son_node.SetAttribute(att_name, att_value);     //設置屬性                son_node.InnerText = node_text;    //添加節點文本                xmldocSelect.AppendChild(son_node);       //添加子節點                xmlDoc.Save(path);          //保存xml文件            }        }        /// <summary>        /// 修改節點的內容        /// </summary>        /// <param name="path">xml文件的物理路徑</param>        /// <param name="node_root">根節點名稱</param>        /// <param name="node_name">子節點名稱</param>        /// <param name="new_text">節點的新內容</param>               public static void UpdateElement(string path, string node_root, string node_name, string new_text)        {            LoadXml(path, node_root);            XmlNodeList nodeList = xmlDoc.SelectSingleNode(node_root).ChildNodes;//獲取bookstore節點的所有子節點             foreach (XmlNode xn in nodeList)//遍歷所有子節點             {                XmlElement xe = (XmlElement)xn;//將子節點類型轉換為XmlElement類型                 if (xe.Name == node_name)                {                    xe.InnerText = new_text;    //內容賦值                    xmlDoc.Save(path);//保存

pk10有什么方法平刷
北京赛车单双技巧 北京赛车pk10黑客软件 北京pk10计划免费软件 pk10前二做号工具 pk10专业预测 pk10民间高手 北京pk10挂机选号经验分享模式 pk10冠军3码倍投计划 北京赛车计划app手机版 北京赛车开奖软件 pk10最牛稳赚模式最新 pk10全天免费计划 易算北京pk10准不准 pk10赛车7码技巧 pk10八码滚雪球3期一收
全球彩是骗局吗 时时彩平刷方法 分分彩后三做号 必中幸运飞艇软件安卓 斗牛看三张牌抢庄技巧 8选3精华稳赚投注 澳门有哪些赌博玩法 足球14场胜负彩开奖结果 3d买组六稳赚不赔