From 178239f5b8563b7fcea48b0fba7664c1fa110a9a Mon Sep 17 00:00:00 2001 From: Frederik Ring Date: Fri, 26 Apr 2024 14:35:59 +0200 Subject: [PATCH] Always initialize notifications first --- cmd/backup/run_script.go | 9 +++++---- cmd/backup/script.go | 9 +-------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/cmd/backup/run_script.go b/cmd/backup/run_script.go index 51c6a04..e6e9fe3 100644 --- a/cmd/backup/run_script.go +++ b/cmd/backup/run_script.go @@ -30,12 +30,13 @@ func runScript(c *Config) (err error) { s := newScript(c) + if initErr := s.initNotifications(); initErr != nil { + err = errwrap.Wrap(initErr, "error initializing notifications") + return + } + unlock, lockErr := s.lock("/var/lock/dockervolumebackup.lock") if lockErr != nil { - if initErr := s.initNotificationsOnly(); initErr != nil { - err = errwrap.Wrap(initErr, "error initializing notifications") - return - } err = errwrap.Wrap(lockErr, "error acquiring file lock") return } diff --git a/cmd/backup/script.go b/cmd/backup/script.go index a7ffc0f..777a80c 100644 --- a/cmd/backup/script.go +++ b/cmd/backup/script.go @@ -219,17 +219,10 @@ func (s *script) init() error { s.storages = append(s.storages, dropboxBackend) } - if err := s.initNotificationsOnly(); err != nil { - return errwrap.Wrap(err, "error initializing configuration setup") - } - return nil } -// initNotificationsOnly lives outside of the main init routine so that script -// runs that fail early can try to send notifications without having to -// invoke a full initialization -func (s *script) initNotificationsOnly() error { +func (s *script) initNotifications() error { if s.c.EmailNotificationRecipient != "" { emailURL := fmt.Sprintf( "smtp://%s:%s@%s:%d/?from=%s&to=%s",