1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package main
- import (
- "fmt"
- "os/exec"
- "strconv"
- "strings"
- )
- func GetDirectoryDiskUsed(directories []string) (uint64, error) {
- fmt.Println(strings.Join(directories, " "))
- cmd := exec.Command("du", "-s", strings.Join(directories, " "))
- output, err := cmd.CombinedOutput()
- if err != nil {
- fmt.Println(err)
- return 0, err
- }
- lines := strings.Split(string(output), "\n")
- fmt.Println(lines)
- sum := uint64(0)
- for _, line := range lines {
- 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)
- }
|