INNER CODE UNIT · Go

compress

offen/docker-volume-backup · cmd/backup/archive.go:58

func compress(paths []string, outFilePath, algo string, concurrency int) error {
	file, err := os.Create(outFilePath)
	if err != nil {
		return errwrap.Wrap(err, "error creating out file")
	}

	prefix := path.Dir(outFilePath)
	compressWriter, err := getCompressionWriter(file, algo, concurrency)
	if err != nil {
		return errwrap.Wrap(err, "error getting compression writer")
	}
	tarWriter := tar.NewWriter(compressWriter)

	for _, p := range paths {
		if err := writeTarball(p, tarWriter, prefix); err != nil {
			return errwrap.Wrap(err, fmt.Sprintf("error writing %s to archive", p))
		}
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…