Files
thanks/internal/zfs/zfs.go
2026-01-30 16:59:42 -05:00

32 lines
566 B
Go

package zfs
import (
"context"
"fmt"
"os/exec"
"time"
)
type Snapshot struct {
SnapshotName string // Name sans dataset (the part after the '@')
Name string // Full dataset@snapname
Dataset string
Creation time.Time
GUID int64
}
func Cmd(ctx context.Context, arg string, a ...any) ([]byte, error) {
if len(a) > 0 {
arg = fmt.Sprintf(arg, a...)
}
cmd := exec.CommandContext(ctx, "/bin/sh", "-c", arg)
fmt.Printf("zfs: %+v\n", arg)
out, err := cmd.CombinedOutput()
if err != nil {
return out, err
}
return out, err
}