FIX (temp folders): Improve temp folders cleanup over backups and restores

This commit is contained in:
Rostislav Dugin
2026-01-02 12:09:43 +03:00
parent 1b8d783d4e
commit ca3f0281a3
6 changed files with 8 additions and 8 deletions

View File

@@ -264,7 +264,7 @@ func (uc *CreateMariadbBackupUsecase) createTempMyCnfFile(
mdbConfig *mariadbtypes.MariadbDatabase, mdbConfig *mariadbtypes.MariadbDatabase,
password string, password string,
) (string, error) { ) (string, error) {
tempDir, err := os.MkdirTemp("", "mycnf") tempDir, err := os.MkdirTemp(config.GetEnv().TempFolder, "mycnf_"+uuid.New().String())
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create temp directory: %w", err) return "", fmt.Errorf("failed to create temp directory: %w", err)
} }

View File

@@ -279,7 +279,7 @@ func (uc *CreateMysqlBackupUsecase) createTempMyCnfFile(
myConfig *mysqltypes.MysqlDatabase, myConfig *mysqltypes.MysqlDatabase,
password string, password string,
) (string, error) { ) (string, error) {
tempDir, err := os.MkdirTemp("", "mycnf") tempDir, err := os.MkdirTemp(config.GetEnv().TempFolder, "mycnf_"+uuid.New().String())
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create temp directory: %w", err) return "", fmt.Errorf("failed to create temp directory: %w", err)
} }

View File

@@ -771,7 +771,7 @@ func (uc *CreatePostgresqlBackupUsecase) createTempPgpassFile(
escapedPassword, escapedPassword,
) )
tempDir, err := os.MkdirTemp("", "pgpass") tempDir, err := os.MkdirTemp(config.GetEnv().TempFolder, "pgpass_"+uuid.New().String())
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create temporary directory: %w", err) return "", fmt.Errorf("failed to create temporary directory: %w", err)
} }

View File

@@ -330,7 +330,7 @@ func (uc *RestoreMariadbBackupUsecase) createTempMyCnfFile(
mdbConfig *mariadbtypes.MariadbDatabase, mdbConfig *mariadbtypes.MariadbDatabase,
password string, password string,
) (string, error) { ) (string, error) {
tempDir, err := os.MkdirTemp("", "mycnf") tempDir, err := os.MkdirTemp(config.GetEnv().TempFolder, "mycnf_"+uuid.New().String())
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create temp directory: %w", err) return "", fmt.Errorf("failed to create temp directory: %w", err)
} }

View File

@@ -322,7 +322,7 @@ func (uc *RestoreMysqlBackupUsecase) createTempMyCnfFile(
myConfig *mysqltypes.MysqlDatabase, myConfig *mysqltypes.MysqlDatabase,
password string, password string,
) (string, error) { ) (string, error) {
tempDir, err := os.MkdirTemp("", "mycnf") tempDir, err := os.MkdirTemp(config.GetEnv().TempFolder, "mycnf_"+uuid.New().String())
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create temp directory: %w", err) return "", fmt.Errorf("failed to create temp directory: %w", err)
} }

View File

@@ -287,7 +287,7 @@ func (uc *RestorePostgresqlBackupUsecase) restoreFromStorage(
} }
defer func() { defer func() {
if pgpassFile != "" { if pgpassFile != "" {
_ = os.Remove(pgpassFile) _ = os.RemoveAll(filepath.Dir(pgpassFile))
} }
}() }()
@@ -927,7 +927,7 @@ func (uc *RestorePostgresqlBackupUsecase) generateFilteredTocList(
} }
// Write filtered TOC to temporary file // Write filtered TOC to temporary file
tocFile, err := os.CreateTemp("", "pg_restore_toc_*.list") tocFile, err := os.CreateTemp(config.GetEnv().TempFolder, "pg_restore_toc_*.list")
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create TOC list file: %w", err) return "", fmt.Errorf("failed to create TOC list file: %w", err)
} }
@@ -974,7 +974,7 @@ func (uc *RestorePostgresqlBackupUsecase) createTempPgpassFile(
escapedPassword, escapedPassword,
) )
tempDir, err := os.MkdirTemp("", "pgpass") tempDir, err := os.MkdirTemp(config.GetEnv().TempFolder, "pgpass_"+uuid.New().String())
if err != nil { if err != nil {
return "", fmt.Errorf("failed to create temporary directory: %w", err) return "", fmt.Errorf("failed to create temporary directory: %w", err)
} }