/// <summary> /// 用于每天同步 删除pathBk表中job已删除的文件 /// </summary> public void DaySync() { lock (_lock) { //获取配置时间 string syncTime = ConfigUtil.AppSetting("daysyncTime"); if (TimeCheckHelper.CheckTime("daysyncTime", syncTime)) { try { #region 判断是否有顶级文件夹未传送 new System.Threading.Thread(() => { CheckTopFolder(); }).Start(); #endregion #region delete pathBk overdue entry Common.LogManager.WriteLog(Common.LogFile.Trace, "delete pathBk overdue entry start:" + DateTime.Now.ToString()); //获取今天产生的delete event entry log文件名 string path = AppDomain.CurrentDomain.BaseDirectory + @"log\FSWDeleteEvent" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; StreamReader sr = new StreamReader(path); while (!sr.EndOfStream) { string entry = sr.ReadLine(); if (entry.Contains("msID:")) { int firstIndex = entry.IndexOf("msID:") + 5; int secondIndex = entry.IndexOf(";relativePath:"); //获取msid string msid = entry.Substring(firstIndex, secondIndex - firstIndex); //获取relativePath string relativePath = entry.Substring(secondIndex + 14); try { //删除pathBk里相同的项 SyncDAL sd = new SyncDAL(); sd.DeletePath(msid, relativePath); } catch (Exception ex) { Common.LogManager.WriteLog(Common.LogFile.Error, MessageUtil.GetExceptionMsg(ex, "")); } } } sr.Close(); Common.LogManager.WriteLog(Common.LogFile.Trace, "delete pathBk overdue entry end:" + DateTime.Now.ToString()); #endregion } catch (Exception ex) { Common.LogManager.WriteLog(Common.LogFile.Error, MessageUtil.GetExceptionMsg(ex, "")); } } } }
static void pathQueue_DequeueHandler(List <PathDesc> items) { try { //获取sql StringBuilder sb = new StringBuilder("insert into pathBK values "); items.ForEach(x => sb.Append("(" + x.msID + ",N'" + x.relativePath.Replace("'", "''") + "'),")); sb.Remove(sb.Length - 1, 1); SyncDAL sd = new SyncDAL(); sd.SavePath(sb.ToString()); } catch (Exception ex) { Common.LogManager.WriteLog(Common.LogFile.Error, MessageUtil.GetExceptionMsg(ex, "")); } }
/// <summary> /// 删除monitorfilelisten 表并初始化 /// </summary> private void TruncateFileListen() { SyncDAL sd = new SyncDAL(); sd.TruncateFileListen(); }
/// <summary> /// 删除昨天的路径备份并初始化 /// </summary> private void TruncatePathBk() { SyncDAL sd = new SyncDAL(); sd.TruncatePathBk(); }