robotfs/utils/operation.go
2025-05-23 16:08:47 +08:00

42 lines
850 B
Go

package utils
import (
"fmt"
"os/exec"
)
func Clone(root, src, dst string) error {
cmd := exec.Command("juicefs", "clone", root+src, root+dst)
output, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("clone failed: %v, output: %s", err, string(output))
}
return nil
}
func Move(root, src, dst string) error {
cmd := exec.Command("mv", root+src, root+dst)
output, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("move failed: %v, output: %s", err, string(output))
}
return nil
}
func Remove(root, path string, isDir bool) error {
var cmd *exec.Cmd
if isDir {
cmd = exec.Command("rm", "-r", root+path)
} else {
cmd = exec.Command("rm", root+path)
}
output, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("remove failed: %v, output: %s", err, string(output))
}
return nil
}