123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package main
- import (
- "fmt"
- "os/exec"
- "strconv"
- "strings"
- )
- func GetDirectoryDiskUsed(directories []string) (uint64, error) {
- cmd := exec.Command("du", "-s")
- cmd.Args = append(cmd.Args, directories...)
- output, err := cmd.CombinedOutput()
- if err != nil {
- fmt.Println(err)
- return 0, err
- }
- lines := strings.Split(string(output), "\n")
- sum := uint64(0)
- for _, line := range lines {
- if len(line) > 0 {
- fmt.Println(line)
- fields := strings.Fields(line)
- parseUint, err := strconv.ParseUint(fields[0], 10, 64)
- fmt.Println("parseUint", parseUint)
- if err != nil {
- fmt.Println(err)
- return 0, err
- }
- sum += parseUint
- }
- }
- return sum, nil
- }
- func main() {
- diskUsed, err := GetDirectoryDiskUsed([]string{"/root/cicv-data-closedloop", "/root/pjirobot/data/cicv-data-closedloop"})
- if err != nil {
- return
- }
- fmt.Println("diskUsed", diskUsed)
- }
|