Files
d-eyes/basicinfo/info/summary_linux.go
2023-11-08 15:31:09 +08:00

71 lines
1.7 KiB
Go

package info
import (
"fmt"
"os"
"os/exec"
"os/user"
"strconv"
"github.com/shirou/gopsutil/v3/host"
)
func SaveSummaryBaseInfo() {
f, err := os.Create("SummaryBaseInfo")
if err != nil {
fmt.Errorf(err.Error())
}
baseInfo := GetBaseInfo()
_, err = f.WriteString("HostInfo: \n" + baseInfo)
users := GetLinuxUser()
_, err = f.WriteString("AllUsers: \n")
for _, user := range users {
_, err = f.WriteString(" * " + user + "\n")
}
crontab := GetCronTab()
crontabString := ""
crontabString += "Os Crontab: \n==============================================================================================\n"
taskSum := 0
for _, item := range crontab {
taskSum++
crontabString += "* task " + strconv.Itoa(taskSum) + "\n" +
"" + item + "\n" +
"==============================================================================================\n"
}
_, err = f.WriteString(crontabString)
_, err = f.WriteString("InterfaceInfo: \n")
if err == nil {
path, _ := os.Getwd()
fmt.Println("Summary file to ", path+"/SummaryBaseInfo")
fmt.Println("Summary Base Info file created!")
} else {
fmt.Errorf(err.Error())
}
f.Close()
c := exec.Command("/bin/bash", "-c", "ifconfig -a>>SummaryBaseInfo")
if err := c.Run(); err != nil {
fmt.Println("Error: ", err)
}
}
func GetBaseInfo() string {
infoStat, _ := host.Info()
platform := infoStat.Platform + " " + infoStat.PlatformVersion
OsKernel := infoStat.KernelArch + " " + infoStat.KernelVersion
user, _ := user.Current()
baseInfo := ""
baseInfo += " * OS VERSION: " + platform + "\n" +
" * KERNEL VERSION: " + OsKernel + "\n" +
" * CURRENT USER: " + user.Username + "\n"
return baseInfo
}