private async Task DoDumpFile(BackupFileInfo file, string dir)
        {
            var storage  = StorageFactory.GetStorage(ConfigPath, file.Tenant.ToString(), file.Module);
            var filePath = Path.Combine(dir, file.GetZipKey());
            var dirName  = Path.GetDirectoryName(filePath);

            Logger.DebugFormat("backup file {0}", filePath);

            if (!Directory.Exists(dirName) && !string.IsNullOrEmpty(dirName))
            {
                Directory.CreateDirectory(dirName);
            }

            if (!WorkContext.IsMono && filePath.Length > MaxLength)
            {
                filePath = @"\\?\" + filePath;
            }

            using (var fileStream = storage.GetReadStream(file.Domain, file.Path))
                using (var tmpFile = File.OpenWrite(filePath))
                {
                    await fileStream.CopyToAsync(tmpFile);
                }

            SetStepCompleted();
        }
 public static string GetFileZipKey(BackupFileInfo file)
 {
     return Path.Combine(file.Module, file.Domain, file.Path).Replace('\\', '/');
 }
Exemple #3
0
 public static string GetZipKey(this BackupFileInfo file)
 {
     return(Path.Combine(file.Module, file.Domain, file.Path));
 }
Exemple #4
0
 public static string GetFileZipKey(BackupFileInfo file)
 {
     return(Path.Combine(file.Module, file.Domain, file.Path).Replace('\\', '/'));
 }