diff options
author | flouthoc <flouthoc.git@gmail.com> | 2021-08-20 14:22:54 +0530 |
---|---|---|
committer | flouthoc <flouthoc.git@gmail.com> | 2021-08-23 20:42:41 +0530 |
commit | edddfe8c4f7761b12dc64ea4aa0a83b755aa124f (patch) | |
tree | 4eb4323903b3aec46fd5da3dd7152c24d88045d0 /utils/utils.go | |
parent | 30b036c5d394bb523fa13074b1731ad4b6259693 (diff) | |
download | podman-edddfe8c4f7761b12dc64ea4aa0a83b755aa124f.tar.gz podman-edddfe8c4f7761b12dc64ea4aa0a83b755aa124f.tar.bz2 podman-edddfe8c4f7761b12dc64ea4aa0a83b755aa124f.zip |
volumes: Add support for exporting volumes to external tar
Adds support for transferring data between systems and backing up systems.
Use cases: recover from disasters or move data between machines.
Signed-off-by: flouthoc <flouthoc.git@gmail.com>
Diffstat (limited to 'utils/utils.go')
-rw-r--r-- | utils/utils.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/utils/utils.go b/utils/utils.go index a2268a30b..2e415130e 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -107,6 +107,16 @@ func UntarToFileSystem(dest string, tarball *os.File, options *archive.TarOption return archive.Untar(tarball, dest, options) } +// Creates a new tar file and wrties bytes from io.ReadCloser +func CreateTarFromSrc(source string, dest string) error { + file, err := os.Create(dest) + if err != nil { + return errors.Wrapf(err, "Could not create tarball file '%s'", dest) + } + defer file.Close() + return TarToFilesystem(source, file) +} + // TarToFilesystem creates a tarball from source and writes to an os.file // provided func TarToFilesystem(source string, tarball *os.File) error { |