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] == '/' {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…