1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package main
- import (
- "fmt"
- "os"
- "strconv"
- )
- 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")
- //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
- //}
- sum := uint64(0)
- for _, directory := range directories {
- fileInfo, err := os.Stat(directory)
- if err != nil {
- fmt.Println(err)
- return 0, err
- }
- fmt.Println("fileInfo.Size()", fileInfo.Size())
- parseUint, err := strconv.ParseUint(strconv.FormatInt(fileInfo.Size(), 10), 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)
- }
|