feat: add multi backup

This commit is contained in:
Jonas Kaninda
2024-10-09 08:32:51 +02:00
parent 0c3a9b323b
commit 1df1c46a96
5 changed files with 144 additions and 7 deletions

View File

@@ -7,6 +7,7 @@
package pkg
import (
"errors"
"fmt"
"github.com/jkaninda/pg-bkup/utils"
"github.com/spf13/cobra"
@@ -14,7 +15,17 @@ import (
"strconv"
)
type Database struct {
Host string `yaml:"host"`
Port string `yaml:"port"`
Name string `yaml:"name"`
User string `yaml:"user"`
Password string `yaml:"password"`
Path string `yaml:"path"`
}
type Config struct {
Databases []Database `yaml:"databases"`
CronExpression string `yaml:"cronExpression"`
}
type dbConfig struct {
@@ -92,6 +103,16 @@ func initDbConfig(cmd *cobra.Command) *dbConfig {
return &dConf
}
func getDatabase(database Database) *dbConfig {
return &dbConfig{
dbHost: database.Host,
dbPort: database.Port,
dbName: database.Name,
dbUserName: database.User,
dbPassword: database.Password,
}
}
// loadSSHConfig loads the SSH configuration from environment variables
func loadSSHConfig() (*SSHConfig, error) {
utils.GetEnvVariable("SSH_HOST", "SSH_HOST_NAME")
@@ -245,3 +266,10 @@ func initTargetDbConfig() *targetDbConfig {
}
return &tdbConfig
}
func loadConfigFile() (string, error) {
backupConfigFile, err := checkConfigFile(os.Getenv("BACKUP_CONFIG_FILE"))
if err == nil {
return backupConfigFile, nil
}
return "", errors.New("backup config file not found")
}