From e97fc7512ab1c3c833a4c0e17e62a3628ad28dbc Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Sat, 28 Sep 2024 09:18:58 +0200 Subject: [PATCH] fix: generate backup file name in scheduled mode --- pkg/backup.go | 9 ++++++++- pkg/config.go | 9 --------- pkg/restore.go | 2 +- utils/utils.go | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/pkg/backup.go b/pkg/backup.go index c95a780..6729754 100644 --- a/pkg/backup.go +++ b/pkg/backup.go @@ -15,6 +15,7 @@ import ( "os" "os/exec" "path/filepath" + "time" ) func StartBackup(cmd *cobra.Command) { @@ -39,7 +40,7 @@ func StartBackup(cmd *cobra.Command) { func scheduledMode(db *dbConfig, config *BackupConfig) { utils.Info("Running in Scheduled mode") utils.Info("Backup cron expression: %s", config.cronExpression) - utils.Info("Storage type %s ", storage) + utils.Info("Storage type %s ", config.storage) //Test database connexion testDatabaseConnection(db) @@ -62,6 +63,12 @@ func scheduledMode(db *dbConfig, config *BackupConfig) { } func BackupTask(db *dbConfig, config *BackupConfig) { utils.Info("Starting backup task...") + //Generate backup file name + backupFileName := fmt.Sprintf("%s_%s.sql.gz", db.dbName, time.Now().Format("20240102_150405")) + if config.disableCompression { + backupFileName = fmt.Sprintf("%s_%s.sql", db.dbName, time.Now().Format("20240102_150405")) + } + config.backupFileName = backupFileName switch config.storage { case "s3": s3Backup(db, config.backupFileName, config.disableCompression, config.prune, config.backupRetention, config.encryption) diff --git a/pkg/config.go b/pkg/config.go index 1592705..6c1f6b2 100644 --- a/pkg/config.go +++ b/pkg/config.go @@ -7,11 +7,9 @@ package pkg import ( - "fmt" "github.com/jkaninda/mysql-bkup/utils" "github.com/spf13/cobra" "os" - "time" ) type Config struct { @@ -88,15 +86,8 @@ func initBackupConfig(cmd *cobra.Command) *BackupConfig { if gpqPassphrase != "" { encryption = true } - //Generate file name - backupFileName := fmt.Sprintf("%s_%s.sql.gz", dbConf.dbName, time.Now().Format("20240102_150405")) - if disableCompression { - backupFileName = fmt.Sprintf("%s_%s.sql", dbConf.dbName, time.Now().Format("20240102_150405")) - } - //Initialize backup configs config := BackupConfig{} - config.backupFileName = backupFileName config.backupRetention = backupRetention config.disableCompression = disableCompression config.prune = prune diff --git a/pkg/restore.go b/pkg/restore.go index 2a07529..6c0d72a 100644 --- a/pkg/restore.go +++ b/pkg/restore.go @@ -20,7 +20,7 @@ func StartRestore(cmd *cobra.Command) { dbConf = initDbConfig(cmd) restoreConf := initRestoreConfig(cmd) - switch storage { + switch restoreConf.storage { case "s3": restoreFromS3(dbConf, restoreConf.file, restoreConf.bucket, restoreConf.s3Path) case "local": diff --git a/utils/utils.go b/utils/utils.go index caf07ed..f347e82 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -240,7 +240,7 @@ func NotifyError(error string) { //Telegram notification err := CheckEnvVars(vars) if err == nil { - message := "[🔴MySQL Backup ]\n" + + message := "[🔴 MySQL Backup ]\n" + "An error occurred during database backup \n" + "Error: " + error sendMessage(message)