Honor RESTIC_CACHE_DIR environment variable

Fix #3382: restic check doesn't obey the RESTIC_CACHE_DIR environment variable
This commit is contained in:
kitone 2021-08-08 19:30:07 +02:00
parent 553ea36ca6
commit 95eb859b54
2 changed files with 10 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/spf13/cobra"
"github.com/restic/restic/internal/cache"
"github.com/restic/restic/internal/checker"
"github.com/restic/restic/internal/errors"
"github.com/restic/restic/internal/fs"
@ -146,6 +147,9 @@ func prepareCheckCache(opts CheckOptions, gopts *GlobalOptions) (cleanup func())
}
cachedir := gopts.CacheDir
if cachedir == "" {
cachedir = cache.EnvDir()
}
// use a cache in a temporary directory
tempdir, err := ioutil.TempDir(cachedir, "restic-check-cache-")

View File

@ -6,10 +6,15 @@ import (
"path/filepath"
)
// EnvDir return $RESTIC_CACHE_DIR env
func EnvDir() string {
return os.Getenv("RESTIC_CACHE_DIR")
}
// DefaultDir returns $RESTIC_CACHE_DIR, or the default cache directory
// for the current OS if that variable is not set.
func DefaultDir() (cachedir string, err error) {
cachedir = os.Getenv("RESTIC_CACHE_DIR")
cachedir = EnvDir()
if cachedir != "" {
return cachedir, nil
}