public static void BackUpData(string ruleName, DateTime?fromDay, DateTime?toDay, BackUpStatus theRuningStatusInSession) { StartFlag(theRuningStatusInSession); try { //读入静态配置表 StartLittleProcess(theRuningStatusInSession, StaticConfigTable.ReadToTableToString()); StaticConfigTable.ReadToTable(); //准备所需文件夹 StartLittleProcess(theRuningStatusInSession, DiskOperations.PrepareForBackUpToString()); DiskOperations.PrepareForBackUp(); //检查Rar压缩器 StartLittleProcess(theRuningStatusInSession, CommandRunner.CheckRarReadyToString()); CommandRunner.CheckRarReady(); //配置日志对象 StartLittleProcess(theRuningStatusInSession, TransferDataLogManager.TryConfigLogObjToString()); TransferDataLogManager.TryConfigLogObj(); //根据规则起另外线程开始工作 StartLittleProcess(theRuningStatusInSession, RulesPool.FindRuleByNameToString()); //需要克隆的原因在于RulesPool是静态的,上次运行的对象会影响下次的运行 TransferRule tr = RulesPool.FindRuleByName(ruleName); BackUpProcess bup = StartBackUp; bup.BeginInvoke(tr.Clone() as TransferRule, fromDay, toDay, theRuningStatusInSession, null, null); } catch (ApplicationException ae) { FailedFlag(theRuningStatusInSession, ae.Message); } }
public static void ResetAllRules() { RulesPool.ResetAllRules(); }