Ver Fonte

test: disk used

HeWang há 6 meses atrás
pai
commit
e2d5bb9050
2 ficheiros alterados com 50 adições e 0 exclusões
  1. 18 0
      common/util/u_resource.go
  2. 32 0
      tools/disk/main.go

+ 18 - 0
common/util/u_resource.go

@@ -1,6 +1,7 @@
 package util
 package util
 
 
 import (
 import (
+	"fmt"
 	"github.com/shirou/gopsutil/cpu"
 	"github.com/shirou/gopsutil/cpu"
 	"github.com/shirou/gopsutil/disk"
 	"github.com/shirou/gopsutil/disk"
 	"github.com/shirou/gopsutil/mem"
 	"github.com/shirou/gopsutil/mem"
@@ -137,6 +138,23 @@ func GetDiskUsed(filesystem string) (uint64, error) {
 	return parseUint, nil
 	return parseUint, nil
 }
 }
 
 
+func GetDirectoryDiskUsed(directories []string) (uint64, error) {
+	directories = append(directories, "/root/pjirobot/data/cicv-data-closedloop/data/")
+	cmd := exec.Command("du", "-s", directories[0])
+	output, err := cmd.CombinedOutput()
+	if err != nil {
+		return 0, err
+	}
+	lines := strings.Split(string(output), "\n")
+	fields := strings.Fields(lines[1])
+	parseUint, err := strconv.ParseUint(fields[0], 10, 64)
+	fmt.Println("parseUint", parseUint)
+	if err != nil {
+		return 0, err
+	}
+	return parseUint, nil
+}
+
 // GetDiskUsagePercent 获取磁盘使用率
 // GetDiskUsagePercent 获取磁盘使用率
 func GetDiskUsagePercent() (float64, error) {
 func GetDiskUsagePercent() (float64, error) {
 	// 执行 df 命令获取磁盘使用情况
 	// 执行 df 命令获取磁盘使用情况

+ 32 - 0
tools/disk/main.go

@@ -0,0 +1,32 @@
+package disk
+
+import (
+	"fmt"
+	"os/exec"
+	"strconv"
+	"strings"
+)
+
+func GetDirectoryDiskUsed(directories []string) (uint64, error) {
+	cmd := exec.Command("du", "-s", directories[0])
+	output, err := cmd.CombinedOutput()
+	if err != nil {
+		return 0, err
+	}
+	lines := strings.Split(string(output), "\n")
+	fields := strings.Fields(lines[1])
+	parseUint, err := strconv.ParseUint(fields[0], 10, 64)
+	fmt.Println("parseUint", parseUint)
+	if err != nil {
+		return 0, err
+	}
+	return parseUint, nil
+}
+
+func main() {
+	diskUsed, err := GetDirectoryDiskUsed([]string{"/root/pjirobot/data/cicv-data-closedloop/data/"})
+	if err != nil {
+		return
+	}
+	fmt.Println("diskUsed", diskUsed)
+}