Skip to content

Commit 041e0a0

Browse files
authored
Merge pull request #89 from jkaninda/develop
Develop
2 parents e130725 + 9daac9c commit 041e0a0

File tree

5 files changed

+23
-15
lines changed

5 files changed

+23
-15
lines changed

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ ENV TARGET_DB_NAME="localhost"
3636
ENV TARGET_DB_USERNAME=""
3737
ENV TARGET_DB_PASSWORD=""
3838
ARG DEBIAN_FRONTEND=noninteractive
39-
ENV VERSION="v1.2.5"
39+
ENV VERSION="v1.2.7"
4040
ENV BACKUP_CRON_EXPRESSION=""
4141
ENV TG_TOKEN=""
4242
ENV TG_CHAT_ID=""

pkg/backup.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ func BackupDatabase(db *dbConfig, backupFileName string, disableCompression bool
132132
}
133133

134134
utils.Info("Starting database backup...")
135+
err = os.Setenv("MYSQL_PWD", db.dbPassword)
136+
if err != nil {
137+
return
138+
}
135139
testDatabaseConnection(db)
136140

137141
// Backup Database database
@@ -143,7 +147,6 @@ func BackupDatabase(db *dbConfig, backupFileName string, disableCompression bool
143147
"-h", db.dbHost,
144148
"-P", db.dbPort,
145149
"-u", db.dbUserName,
146-
"--password="+db.dbPassword,
147150
db.dbName,
148151
)
149152
output, err := cmd.Output()
@@ -166,7 +169,7 @@ func BackupDatabase(db *dbConfig, backupFileName string, disableCompression bool
166169

167170
} else {
168171
// Execute mysqldump
169-
cmd := exec.Command("mysqldump", "-h", db.dbHost, "-P", db.dbPort, "-u", db.dbUserName, "--password="+db.dbPassword, db.dbName)
172+
cmd := exec.Command("mysqldump", "-h", db.dbHost, "-P", db.dbPort, "-u", db.dbUserName, db.dbName)
170173
stdout, err := cmd.StdoutPipe()
171174
if err != nil {
172175
log.Fatal(err)

pkg/helper.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,17 @@ func deleteTemp() {
107107

108108
// TestDatabaseConnection tests the database connection
109109
func testDatabaseConnection(db *dbConfig) {
110-
110+
err := os.Setenv("MYSQL_PWD", db.dbPassword)
111+
if err != nil {
112+
return
113+
}
111114
utils.Info("Connecting to %s database ...", db.dbName)
112-
113-
cmd := exec.Command("mysql", "-h", db.dbHost, "-P", db.dbPort, "-u", db.dbUserName, "--password="+db.dbPassword, db.dbName, "-e", "quit")
114-
115+
cmd := exec.Command("mysql", "-h", db.dbHost, "-P", db.dbPort, "-u", db.dbUserName, db.dbName, "-e", "quit")
115116
// Capture the output
116117
var out bytes.Buffer
117118
cmd.Stdout = &out
118119
cmd.Stderr = &out
119-
err := cmd.Run()
120+
err = cmd.Run()
120121
if err != nil {
121122
utils.Fatal("Error testing database connection: %v\nOutput: %s", err, out.String())
122123

pkg/restore.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,17 @@ func RestoreDatabase(db *dbConfig, file string) {
9595
}
9696

9797
if utils.FileExists(fmt.Sprintf("%s/%s", tmpPath, file)) {
98+
err = os.Setenv("MYSQL_PWD", db.dbPassword)
99+
if err != nil {
100+
return
101+
}
98102
testDatabaseConnection(db)
99103
utils.Info("Restoring database...")
100104

101105
extension := filepath.Ext(fmt.Sprintf("%s/%s", tmpPath, file))
102106
// Restore from compressed file / .sql.gz
103107
if extension == ".gz" {
104-
str := "zcat " + fmt.Sprintf("%s/%s", tmpPath, file) + " | mysql -h " + db.dbHost + " -P " + db.dbPort + " -u " + db.dbUserName + " --password=" + db.dbPassword + " " + db.dbName
108+
str := "zcat " + filepath.Join(tmpPath, file) + " | mysql -h " + db.dbHost + " -P " + db.dbPort + " -u " + db.dbUserName + " " + db.dbName
105109
_, err := exec.Command("bash", "-c", str).Output()
106110
if err != nil {
107111
utils.Fatal("Error, in restoring the database %v", err)
@@ -113,20 +117,20 @@ func RestoreDatabase(db *dbConfig, file string) {
113117

114118
} else if extension == ".sql" {
115119
//Restore from sql file
116-
str := "cat " + fmt.Sprintf("%s/%s", tmpPath, file) + " | mysql -h " + db.dbHost + " -P " + db.dbPort + " -u " + db.dbUserName + " --password=" + db.dbPassword + " " + db.dbName
120+
str := "cat " + filepath.Join(tmpPath, file) + " | mysql -h " + db.dbHost + " -P " + db.dbPort + " -u " + db.dbUserName + " " + db.dbName
117121
_, err := exec.Command("bash", "-c", str).Output()
118122
if err != nil {
119-
utils.Fatal(fmt.Sprintf("Error in restoring the database %s", err))
123+
utils.Fatal("Error in restoring the database %v", err)
120124
}
121125
utils.Info("Restoring database... done")
122126
utils.Done("Database has been restored")
123127
//Delete temp
124128
deleteTemp()
125129
} else {
126-
utils.Fatal(fmt.Sprintf("Unknown file extension %s", extension))
130+
utils.Fatal("Unknown file extension %s", extension)
127131
}
128132

129133
} else {
130-
utils.Fatal(fmt.Sprintf("File not found in %s", fmt.Sprintf("%s/%s", tmpPath, file)))
134+
utils.Fatal("File not found in %s", filepath.Join(tmpPath, file))
131135
}
132136
}

pkg/scripts.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ func CreateCrontabScript(disableCompression bool, storage string) {
2626

2727
scriptContent := fmt.Sprintf(`#!/usr/bin/env bash
2828
set -e
29-
/usr/local/bin/mysql-bkup backup --dbname %s --port %s --storage %s %v
30-
`, os.Getenv("DB_NAME"), os.Getenv("DB_PORT"), storage, disableC)
29+
/usr/local/bin/mysql-bkup backup --dbname %s --storage %s %v
30+
`, os.Getenv("DB_NAME"), storage, disableC)
3131

3232
if err := utils.WriteToFile(backupCronFile, scriptContent); err != nil {
3333
utils.Fatal("Error writing to %s: %v\n", backupCronFile, err)

0 commit comments

Comments
 (0)