chore: Add notification emoji for failed and success message
This commit is contained in:
@@ -1,73 +0,0 @@
|
|||||||
package pkg
|
|
||||||
|
|
||||||
// Package pkg /
|
|
||||||
/*****
|
|
||||||
@author Jonas Kaninda
|
|
||||||
@license MIT License <https://opensource.org/licenses/MIT>
|
|
||||||
@Copyright © 2024 Jonas Kaninda
|
|
||||||
**/
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"github.com/jkaninda/pg-bkup/utils"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
)
|
|
||||||
|
|
||||||
func CreateCrontabScript(disableCompression bool, storage string) {
|
|
||||||
//task := "/usr/local/bin/backup_cron.sh"
|
|
||||||
touchCmd := exec.Command("touch", backupCronFile)
|
|
||||||
if err := touchCmd.Run(); err != nil {
|
|
||||||
utils.Fatal("Error creating file %s: %v\n", backupCronFile, err)
|
|
||||||
}
|
|
||||||
var disableC = ""
|
|
||||||
if disableCompression {
|
|
||||||
disableC = "--disable-compression"
|
|
||||||
}
|
|
||||||
|
|
||||||
var scriptContent string
|
|
||||||
|
|
||||||
scriptContent = fmt.Sprintf(`#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
/usr/local/bin/pg-bkup backup --dbname %s --storage %s %v
|
|
||||||
`, os.Getenv("DB_NAME"), storage, disableC)
|
|
||||||
|
|
||||||
if err := utils.WriteToFile(backupCronFile, scriptContent); err != nil {
|
|
||||||
utils.Fatal("Error writing to %s: %v\n", backupCronFile, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
chmodCmd := exec.Command("chmod", "+x", "/usr/local/bin/backup_cron.sh")
|
|
||||||
if err := chmodCmd.Run(); err != nil {
|
|
||||||
utils.Fatal("Error changing permissions of %s: %v\n", backupCronFile, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
lnCmd := exec.Command("ln", "-s", "/usr/local/bin/backup_cron.sh", "/usr/local/bin/backup_cron")
|
|
||||||
if err := lnCmd.Run(); err != nil {
|
|
||||||
utils.Fatal("Error creating symbolic link: %v\n", err)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
touchLogCmd := exec.Command("touch", cronLogFile)
|
|
||||||
if err := touchLogCmd.Run(); err != nil {
|
|
||||||
utils.Fatal("Error creating file %s: %v\n", cronLogFile, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
cronJob := "/etc/cron.d/backup_cron"
|
|
||||||
touchCronCmd := exec.Command("touch", cronJob)
|
|
||||||
if err := touchCronCmd.Run(); err != nil {
|
|
||||||
utils.Fatal("Error creating file %s: %v\n", cronJob, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
cronContent := fmt.Sprintf(`%s root exec /bin/bash -c ". /run/supervisord.env; /usr/local/bin/backup_cron.sh >> %s"
|
|
||||||
`, os.Getenv("BACKUP_CRON_EXPRESSION"), cronLogFile)
|
|
||||||
|
|
||||||
if err := utils.WriteToFile(cronJob, cronContent); err != nil {
|
|
||||||
utils.Fatal("Error writing to %s: %v\n", cronJob, err)
|
|
||||||
}
|
|
||||||
utils.ChangePermission("/etc/cron.d/backup_cron", 0644)
|
|
||||||
|
|
||||||
crontabCmd := exec.Command("crontab", "/etc/cron.d/backup_cron")
|
|
||||||
if err := crontabCmd.Run(); err != nil {
|
|
||||||
utils.Fatal("Error updating crontab: ", err)
|
|
||||||
}
|
|
||||||
utils.Info("Backup job created.")
|
|
||||||
}
|
|
||||||
@@ -223,7 +223,7 @@ func NotifySuccess(fileName string) {
|
|||||||
//Telegram notification
|
//Telegram notification
|
||||||
err := CheckEnvVars(vars)
|
err := CheckEnvVars(vars)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
message := "PostgreSQL Backup \n" +
|
message := "[✅ PostgreSQL Backup ]\n" +
|
||||||
"Database has been backed up \n" +
|
"Database has been backed up \n" +
|
||||||
"Backup name is " + fileName
|
"Backup name is " + fileName
|
||||||
sendMessage(message)
|
sendMessage(message)
|
||||||
@@ -238,7 +238,7 @@ func NotifyError(error string) {
|
|||||||
//Telegram notification
|
//Telegram notification
|
||||||
err := CheckEnvVars(vars)
|
err := CheckEnvVars(vars)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
message := "PostgreSQL Backup \n" +
|
message := "[🔴 PostgreSQL Backup ]\n" +
|
||||||
"An error occurred during database backup \n" +
|
"An error occurred during database backup \n" +
|
||||||
"Error: " + error
|
"Error: " + error
|
||||||
sendMessage(message)
|
sendMessage(message)
|
||||||
|
|||||||
Reference in New Issue
Block a user