Exemplo n.º 1
0
        private void CopyChangedFiles(string path, Snapshot compareTo, Snapshot added, Snapshot deleted)
        {
            foreach (var file in Directory.GetFiles(path))
            {
                string absolute = Path.Combine(path, file);
                string relative = Utils.UriRelativePath(absolute, Source);
                if (!compareTo.FileExists(relative))
                {
                    added.AddFile(relative);
                    FileSystemAPI.CopyFile(absolute, FileSystemAPI.CombinePath(Target, FileSystemAPI.ConvertSeparators(relative)));
                }
            }

            foreach (var dir in Directory.GetDirectories(path))
            {
                string absolute = Path.Combine(path, dir);
                string relative = Utils.UriRelativePath(absolute, Source);
                if (relative == ConfigDirectory)
                {
                    continue;
                }
                if (!compareTo.DirExist(relative))
                {
                    added.AddDirectory(relative);
                    FileSystemAPI.CreateDirectory(FileSystemAPI.CombinePath(Target, FileSystemAPI.ConvertSeparators(relative)));
                }
                CopyChangedFiles(absolute, compareTo, added, deleted);
            }
        }
Exemplo n.º 2
0
 public void Run(IProgress <BackupProgress> progress)
 {
     Progress = progress;
     FileSystemAPI.CreateTarget(Target);
     BackupAlgorithm();
     FileSystemAPI.Dispose();
 }
Exemplo n.º 3
0
        protected string GetTarget(string targetDirectory)
        {
            string date = DateTime.Now.ToString()
                          .Replace(':', '-')
                          .Replace(' ', '_');

            return(FileSystemAPI.CombinePath(targetDirectory, String.Join('_', JobID, FileSystemAPI.GetFileName(Source), date)));
        }