Added core functionality

This commit is contained in:
netbenix 2021-11-19 19:49:44 +01:00
parent badc3955d7
commit a9bc6a088a

46
main.go
View file

@ -1,9 +1,49 @@
package main
import "scabiosa/StorageTypes"
import (
"os"
"scabiosa/Logging"
"scabiosa/StorageTypes"
"time"
)
func main(){
azure := StorageTypes.GetAzureStorage()
config := GetConfig()
StorageTypes.UploadFile(azure)
for _, backupItem := range config.FolderToBackup{
storage := StorageTypes.CheckStorageType(backupItem.StorageType)
destPath := checkTmpPath(config, backupItem.CreateLocalBackup)
bakFile := CreateBakFile(backupItem.BackupName + getTimeSuffix(), backupItem.FolderPath, destPath)
StorageTypes.UploadFile(storage, destPath + string(os.PathSeparator) + bakFile)
if !backupItem.CreateLocalBackup {
_ = os.Remove(destPath + string(os.PathSeparator) + bakFile)
}
}
}
func getTimeSuffix() string{
currTime := time.Now()
return "_" + currTime.Format("02-01-2006_15-04")
}
func checkTmpPath(config Config, createLocalBackup bool) string{
logger := Logging.DetailedLogger("mainThread", "checkTmpPath")
if !createLocalBackup{
if _, err := os.Stat("tmp"); os.IsNotExist(err) {
dirErr := os.Mkdir("tmp", 600)
if dirErr != nil {
logger.Fatal(err)
}
}
return "tmp"
}
return config.LocalBackupPath
}