From ad18d42145bbdd9b643e93d98116d8007d0334e7 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Fri, 14 Mar 2025 14:32:38 +0100 Subject: [PATCH 1/3] fix: database name not set error when using flag -d --- pkg/config.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/config.go b/pkg/config.go index 19e8f3d..c6a40e7 100644 --- a/pkg/config.go +++ b/pkg/config.go @@ -251,6 +251,7 @@ func initBackupConfig(cmd *cobra.Command) *BackupConfig { utils.GetEnv(cmd, "cron-expression", "BACKUP_CRON_EXPRESSION") utils.GetEnv(cmd, "path", "REMOTE_PATH") utils.GetEnv(cmd, "config", "BACKUP_CONFIG_FILE") + utils.GetEnv(cmd, "dbname", "DB_NAME") // Get flag value and set env remotePath := utils.GetEnvVariable("REMOTE_PATH", "SSH_REMOTE_PATH") storage = utils.GetEnv(cmd, "storage", "STORAGE") From 36bca254a904fa1a825a554d9775e502aa4166b7 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Fri, 14 Mar 2025 14:34:25 +0100 Subject: [PATCH 2/3] ci: Set -d flag for database name --- .github/workflows/tests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5a02c09..7b31daf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -182,8 +182,7 @@ jobs: -e DB_USERNAME=user \ -e DB_PASSWORD=password \ -e GPG_PASSPHRASE=password \ - -e DB_NAME=testdb \ - ${{ env.IMAGE_NAME }}:latest backup --disable-compression --custom-name encrypted-bkup + ${{ env.IMAGE_NAME }}:latest backup -d testdb --disable-compression --custom-name encrypted-bkup echo "Database encrypted backup completed" - name: Test restore encrypted backup | testdb -> testdb2 run: | From cb299a35bfb10d0d00c57423182e0d2aac770166 Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Mon, 17 Mar 2025 09:05:04 +0100 Subject: [PATCH 3/3] enh: enhancement of logging --- pkg/backup.go | 5 +++++ pkg/config.go | 6 ------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/backup.go b/pkg/backup.go index 3c45164..68034ef 100644 --- a/pkg/backup.go +++ b/pkg/backup.go @@ -117,6 +117,9 @@ func createBackupTask(db *dbConfig, config *BackupConfig) { if config.all && !config.allInOne { backupAll(db, config) } else { + if db.dbName == "" && !config.all { + utils.Fatal("Database name is required, use DB_NAME environment variable or -d flag") + } backupTask(db, config) } } @@ -249,8 +252,10 @@ func BackupDatabase(db *dbConfig, backupFileName string, disableCompression, all dumpArgs := []string{fmt.Sprintf("--defaults-file=%s", mysqlClientConfig)} if all && singleFile { + utils.Info("Backing up all databases...") dumpArgs = append(dumpArgs, "--all-databases", "--single-transaction", "--routines", "--triggers") } else { + utils.Info("Backing up %s database...", db.dbName) dumpArgs = append(dumpArgs, db.dbName) } diff --git a/pkg/config.go b/pkg/config.go index c6a40e7..64ccda3 100644 --- a/pkg/config.go +++ b/pkg/config.go @@ -251,12 +251,10 @@ func initBackupConfig(cmd *cobra.Command) *BackupConfig { utils.GetEnv(cmd, "cron-expression", "BACKUP_CRON_EXPRESSION") utils.GetEnv(cmd, "path", "REMOTE_PATH") utils.GetEnv(cmd, "config", "BACKUP_CONFIG_FILE") - utils.GetEnv(cmd, "dbname", "DB_NAME") // Get flag value and set env remotePath := utils.GetEnvVariable("REMOTE_PATH", "SSH_REMOTE_PATH") storage = utils.GetEnv(cmd, "storage", "STORAGE") prune := false - configFile := os.Getenv("BACKUP_CONFIG_FILE") backupRetention := utils.GetIntEnv("BACKUP_RETENTION_DAYS") if backupRetention > 0 { prune = true @@ -281,10 +279,6 @@ func initBackupConfig(cmd *cobra.Command) *BackupConfig { encryption = true usingKey = false } - dbName := os.Getenv("DB_NAME") - if dbName == "" && !all && configFile == "" { - utils.Fatal("Database name is required, use DB_NAME environment variable or -d flag") - } // Initialize backup configs config := BackupConfig{} config.backupRetention = backupRetention