DatabasesBackupJobService.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System.IO;
  2. using System.Threading.Tasks;
  3. using YiSha.Business.AutoJob.IService;
  4. using YiSha.Enum;
  5. using YiSha.IBusiness.SystemManage;
  6. using YiSha.Util;
  7. using YiSha.Util.Model;
  8. namespace YiSha.Business.AutoJob.Service
  9. {
  10. public class DatabasesBackupJobService : IDatabasesBackupJobService
  11. {
  12. private IDatabaseTableBLL _databaseTableBLL;
  13. public DatabasesBackupJobService(IDatabaseTableBLL databaseTableBLL)
  14. {
  15. _databaseTableBLL = databaseTableBLL;
  16. }
  17. public async Task<TData> Start(DBConnectTypeEnum dbConnectType)
  18. {
  19. TData obj = new TData();
  20. string backupPath = GlobalContext.SystemConfig.DBBackup;
  21. if (string.IsNullOrEmpty(backupPath))
  22. {
  23. backupPath = Path.Combine(GlobalContext.HostingEnvironment.ContentRootPath, "Database");
  24. }
  25. else
  26. {
  27. backupPath = Path.Combine(GlobalContext.HostingEnvironment.ContentRootPath, backupPath);
  28. }
  29. if (!Directory.Exists(backupPath))
  30. {
  31. Directory.CreateDirectory(backupPath);
  32. }
  33. string info = await _databaseTableBLL.DatabaseBackup(backupPath, dbConnectType);
  34. obj.Tag = 1;
  35. obj.Message = "备份路径:" + info;
  36. return obj;
  37. }
  38. }
  39. }