@@ -3,6 +3,7 @@ package phase
33import (
44 "fmt"
55 "os"
6+ "path"
67 "path/filepath"
78 "time"
89
@@ -63,15 +64,19 @@ func (p *Backup) Run() error {
6364 }
6465
6566 // get the name of the backup file
66- remoteFile , err := h .ExecOutput ( fmt . Sprintf ( " ls %s" , backupDir ) )
67+ remoteFile , err := h .ExecOutputf ( ` ls " %s"` , backupDir )
6768 if err != nil {
6869 return err
6970 }
71+ remotePath := path .Join (backupDir , remoteFile )
7072
7173 defer func () {
72- log .Debugf ("%s: cleaning up %s" , h , remoteFile )
73- if err := h .Configurer .DeleteFile (h , remoteFile ); err != nil {
74- log .Warnf ("%s: failed to clean up backup temp file %s: %s" , h , remoteFile , err )
74+ log .Debugf ("%s: cleaning up %s" , h , remotePath )
75+ if err := h .Configurer .DeleteFile (h , remotePath ); err != nil {
76+ log .Warnf ("%s: failed to clean up backup temp file %s: %s" , h , remotePath , err )
77+ }
78+ if err := h .Configurer .DeleteDir (h , backupDir , exec .Sudo (h )); err != nil {
79+ log .Warnf ("%s: failed to clean up backup temp directory %s: %s" , h , backupDir , err )
7580 }
7681 }()
7782
@@ -87,8 +92,7 @@ func (p *Backup) Run() error {
8792 }
8893 defer f .Close ()
8994
90- cmd := fmt .Sprintf ("cat %s/%s" , backupDir , remoteFile )
91- if err := h .Exec (cmd , exec .Writer (f )); err != nil {
95+ if err := h .Execf (`cat "%s"` , remotePath , exec .Writer (f )); err != nil {
9296 return err
9397 }
9498
0 commit comments