package main
import (
"fmt"
"github.com/gin-gonic/gin" // 引入Gin框架
"os/exec"
"strings"
"net/http"
)
func main() {
// 创建Gin服务器
r := gin.Default()
r.GET("/", func(c *gin.Context) {
// 获取磁盘使用率
out, err := exec.Command("df", "-h").Output()
if err != nil {
c.String(http.StatusInternalServerError, "Error: %!!(MISSING)s(MISSING)", err) // 如果出错,输出错误信息
return
}
// 解析输出
lines := strings.Split(string(out), "\n")
c.Writer.WriteString("<html><body>") // 输出HTML页面头
c.Writer.WriteString("<h1>Disk Usage</h1>") // 输出标题
c.Writer.WriteString("<table>") // 输出表格
for _, line := range lines[1:] {
fields := strings.Fields(line)
if len(fields) == 0 {
continue
}
// 输出磁盘使用率
c.Writer.WriteString(fmt.Sprintf("<tr><td>%!!(MISSING)!(MISSING)s(MISSING)</td><td>%!!(MISSING)!(MISSING)s(MISSING)</td></tr>\n", fields[0], fields[4])) // 输出磁盘使用率
}
c.Writer.WriteString("</table>") // 结束表格
c.Writer.WriteString("</body></html>") // 结束HTML页面
})
// 启动Gin服务器
r.Run(":8999") // 监听8080端口
}