mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
26 lines
525 B
Go
26 lines
525 B
Go
package tarutils
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"yunion.io/x/log"
|
|
"yunion.io/x/onecloud/pkg/util/procutils"
|
|
)
|
|
|
|
func TarSparseFile(origin, tar string) error {
|
|
origin, _ = filepath.Abs(origin)
|
|
tar, _ = filepath.Abs(tar)
|
|
workDir := filepath.Dir(origin)
|
|
originFile := filepath.Base(origin)
|
|
if err := os.Chdir(workDir); err != nil {
|
|
log.Errorln(err)
|
|
return err
|
|
}
|
|
_, err := procutils.NewCommand("tar", "-Scf", tar, originFile).Run()
|
|
if err != nil {
|
|
log.Errorln("Tar sparse file error: %s", err)
|
|
}
|
|
return nil
|
|
}
|