INNER CODE UNIT · Go
createArchive
offen/docker-volume-backup · cmd/backup/archive.go:25
func createArchive(files []string, inputFilePath, outputFilePath string, compression string, compressionConcurrency int) error {
_, outputFilePath, err := makeAbsolute(stripTrailingSlashes(inputFilePath), outputFilePath)
if err != nil {
return errwrap.Wrap(err, "error transposing given file paths")
}
if err := os.MkdirAll(filepath.Dir(outputFilePath), 0755); err != nil {
return errwrap.Wrap(err, "error creating output file path")
}
if err := compress(files, outputFilePath, compression, compressionConcurrency); err != nil {
return errwrap.Wrap(err, "error creating archive")
}
return nil
}
func stripTrailingSlashes(path string) string {
if len(path) > 0 && path[len(path)-1] == '/' {