fix: generate backup file name in scheduled mode

This commit is contained in:
Jonas Kaninda
2024-09-28 09:18:58 +02:00
parent 7912ce46ed
commit e97fc7512a
4 changed files with 10 additions and 12 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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":

View File

@@ -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)