public static void DiffBackup(JobsClientModel job) { SnapShotModel snap = SnapShotManage.FindFull(job.Destination[0], job.Id); //snap.IsSec = true; string finaltime = DateTime.UtcNow.ToString().Replace(':', ';').Replace(' ', '_'); for (int i = 0; i < job.Source.Count; i++) { for (int e = 0; e < job.Destination.Count; e++) { if (job.ToZip) { Helper.CopyCompared(job.Source[i], Path.Combine("C:\\TEMPBACKUP", finaltime), snap); ZipFile.CreateFromDirectory("C:\\TEMPBACKUP", Path.Combine(job.Destination[e], finaltime) + ".zip"); } else { Helper.CopyCompared(job.Source[i], Path.Combine(job.Destination[e], finaltime), snap); } } } foreach (var item in job.Destination) { SnapShotManage.Process(snap, Path.Combine(item, finaltime)); } ReportService.RunAsync(ClientProcess.ClientIdGlobal, "diff", false, new Exception("OK")).GetAwaiter(); }
public static void DeleteJobs(JobsClientModel model) { Exists(); var temp = new List <JobsClientModel>(LoadJobs()); temp.Remove(model); var json = JsonConvert.SerializeObject(temp); File.WriteAllText(PathToJobs, json); }
public static void IncrBackup(JobsClientModel job) { //for (int i = 0; i < job.Source.Count; i++) //{ // for (int e = 0; e < job.Destination.Count; e++) // { // Helper.CopyCompared(job.Source[i], job.Destination[e], snap, job.ToZip); // } //} //SnapShotManage.SaveSnapShots(snap); //ReportService.RunAsync(ClientProcess.ClientIdGlobal, job.BackupType, false, new Exception("OK")).GetAwaiter(); }
public static void DoBackup(JobsClientModel fromjob) { //var snaps = new List<SnapShotModel>(SnapShotManage.LoadSnapShots()); //SnapShotModel snap = new SnapShotModel(); //foreach (SnapShotModel item in snaps) //{ // if (item.JobId == fromjob.Id) // { // snap = item; // break; // } // else // { // //List<string> getdirs = new List<string>();// = Directory.GetDirectories(jobs.Source); // //List<string> getfiles = new List<string>();// = Directory.GetFiles(@"C:\Users\Polo\Desktop\testprg"); // //foreach (string sourc in fromjob.Source) // //{ // // foreach (string itt in Directory.GetDirectories(sourc)) // // getdirs.Add(itt); // // foreach (string itt in Directory.GetFiles(sourc)) // // getfiles.Add(itt); // //} // SnapShotManage.CreateSnapShot(fromjob.Id, new List<string>(), new List<string>(), fromjob.MaxSecBackup,false); // } //} try { if (fromjob.BackupType == "full") { Algorithms.FullBackup(fromjob); } else if (fromjob.BackupType == "incr") { Algorithms.IncrBackup(fromjob); } else if (fromjob.BackupType == "diff") { Algorithms.DiffBackup(fromjob); } } catch (Exception ex) { ReportService.RunAsync(ClientIdGlobal, fromjob.BackupType, true, ex).GetAwaiter(); } }
public static void SaveJobs(JobsClientModel model) { Exists(); var temp = new List <JobsClientModel>(LoadJobs()); bool r = true; for (int i = 0; i < temp.Count; i++) { if (temp[i].Id == model.Id) { temp[i] = model; r = false; } } if (r) { temp.Add(model); } var json = JsonConvert.SerializeObject(temp); File.WriteAllText(PathToJobs, json); }