コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 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();
 }
コード例 #4
0
 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();
     }
 }
コード例 #5
0
        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);
        }