From 7e4c05f411409322c4cb032d85c11f60e72378fe Mon Sep 17 00:00:00 2001 From: netbenix Date: Thu, 23 Dec 2021 09:25:07 +0100 Subject: [PATCH] feat(General): Local backups now possible Just use RemoteStorageType 'none' and insert your localpath into targetPath --- main.go | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/main.go b/main.go index e9136b1..0d7157e 100644 --- a/main.go +++ b/main.go @@ -17,17 +17,28 @@ func main(){ SQL.CreateDefaultTables(SQL.GetSQLInstance()) for _, backupItem := range config.FolderToBackup{ - storage := StorageTypes.CheckStorageType(backupItem.StorageType) - destPath := checkTmpPath(config, backupItem.CreateLocalBackup, storage) + + var storage StorageTypes.Storage + var destPath string + + if backupItem.RemoteStorageType != "none"{ + storage = StorageTypes.CheckStorageType(backupItem.RemoteStorageType) + destPath = checkTmpPath(backupItem.CreateLocalBackup, backupItem.TargetPath) + } else { + destPath = backupItem.TargetPath + } bakFile := Compressor.CreateBakFile(backupItem.BackupName + getTimeSuffix(), backupItem.FolderPath, destPath, backupItem.BackupName) - StorageTypes.UploadFile(storage, bakFile, backupItem.BackupName, backupItem.TargetPath) - if !backupItem.CreateLocalBackup { - _ = os.Remove(bakFile) - SQL.NewLogEntry(SQL.GetSQLInstance(), uuid.New(), SQL.LogInfo, backupItem.BackupName, SQL.SQLStage_DeleteTmp, SQL.REMOTE_NONE, "Deleted tmp file" ,time.Now()) + if backupItem.RemoteStorageType != "none"{ + StorageTypes.UploadFile(storage, bakFile, backupItem.BackupName, backupItem.TargetPath) } - SQL.NewBackupEntry(SQL.GetSQLInstance(), backupItem.BackupName, time.Now(), backupItem.CreateLocalBackup, backupItem.FolderPath, StorageTypes.CheckRemoteStorageType(backupItem.StorageType), StorageTypes.GetAzureStorage().TargetDirectory) + + if !backupItem.CreateLocalBackup && backupItem.RemoteStorageType != "none"{ + _ = os.Remove(bakFile) + SQL.NewLogEntry(SQL.GetSQLInstance(), uuid.New(), SQL.LogInfo, backupItem.BackupName, SQL.SQLStage_DeleteTmp, SQL.REMOTE_NONE, "Deleted tmp file" ,time.Now()) + } + SQL.NewBackupEntry(SQL.GetSQLInstance(), backupItem.BackupName, time.Now(), backupItem.CreateLocalBackup, backupItem.FolderPath, StorageTypes.CheckRemoteStorageType(backupItem.RemoteStorageType), StorageTypes.GetAzureStorage().TargetDirectory) } } @@ -39,9 +50,9 @@ func getTimeSuffix() string{ return "_" + currTime.Format("02-01-2006_15-04") } -func checkTmpPath(config Tools.Config, createLocalBackup bool, storage StorageTypes.Storage) string{ +func checkTmpPath(createLocalBackup bool, targetPath string) string{ logger := Logging.DetailedLogger("mainThread", "checkTmpPath") - if !createLocalBackup{ + if !createLocalBackup { if _, err := os.Stat("tmp"); os.IsNotExist(err) { dirErr := os.Mkdir("tmp", 0775) if dirErr != nil { @@ -51,5 +62,5 @@ func checkTmpPath(config Tools.Config, createLocalBackup bool, storage StorageTy return "tmp" } - return config.LocalBackupPath + return targetPath }