You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
2.9 KiB
Go

package main
import (
"autogo/common"
"autogo/dbsql"
"autogo/device"
"autogo/models"
"autogo/monkey"
"autogo/test"
"fmt"
"os/exec"
"strings"
"time"
)
func main() {
test.GetSysMapping()
return
// db, err := dbsql.GetConn(dbsql.DSN_local)
// if err != nil {
// return
// }
// defer dbsql.Close(db)
// var list []models.MonkeyTask
// db.Model(models.MonkeyTask{}).Where("crash_count > 0 AND is_del = 0").Find(&list)
// str := ""
// for _, v := range list {
// str += "\"" + cast.ToString(v.Id) + "\" "
// }
// fmt.Println(str)
// return
test.BuglyHelper()
return
cmd := exec.Command("docker", "ps")
output, err := cmd.Output()
if err != nil {
fmt.Println(err)
return
}
lines := strings.Split(string(output), "\n")
for i, line := range lines {
if i == 0 {
continue // skip header line
}
fields := strings.Fields(line)
if len(fields) >= 7 {
fmt.Printf("Container ID: %s, Name: %s\n", fields[0], fields[len(fields)-1])
getRuntime(fields[0])
}
}
fmt.Println("end")
}
func getRuntime(containerID string) {
// 执行 docker inspect 命令获取容器创建时间
cmd := exec.Command("docker", "inspect", "-f", "{{.Created}}", containerID)
output, err := cmd.Output()
if err != nil {
fmt.Println(err)
return
}
// 将输出结果转换为时间格式
createdTime, err := time.Parse(time.RFC3339Nano, strings.TrimSpace(string(output)))
if err != nil {
fmt.Println(err)
return
}
// 计算容器已经运行的时间
uptime := time.Since(createdTime)
// 将容器运行时间转换为秒级时间戳输出
uptimeInSeconds := int64(uptime.Seconds())
fmt.Printf("Container %s has been running for %d seconds\n", containerID, uptimeInSeconds)
}
func sib() {
if device.CheckSib() {
fmt.Println("sib已安装")
fmt.Println(device.GetIOSDevices())
} else {
fmt.Println("sib未安装")
}
}
func tmp1() {
dbsql.DSN = dbsql.DSN_local
db, err := dbsql.GetConn(dbsql.DSN)
if err != nil {
fmt.Println(err)
return
}
defer dbsql.Close(db)
var task models.MonkeyTask
db.Last(&task)
common.PushMonkeyResult(task)
return
// dbsql.DSN = dbsql.DSN_local
// db, err := dbsql.GetConn(dbsql.DSN)
// if err != nil {
// fmt.Println(err)
// return
// }
// defer dbsql.Close(db)
var list []models.MonkeyTask
db.Model(models.MonkeyTask{}).Order("id DESC").Find(&list)
for _, v := range list {
if v.PackageURL != "" {
app, err := common.GetBranch(v.PackageName, v.PackageURL)
if err != nil {
fmt.Println(v.Id, "-", err, "||", v.PackageURL)
err = nil
} else {
fmt.Println(v.Id, "-", app.Branch)
db.Model(models.MonkeyTask{}).Where("id = ?", v.Id).Update("version", app.Version+"_"+app.VersionCode)
}
}
}
}
func Dir() {
err := monkey.CreateDir("files")
if err != nil {
fmt.Println(err)
}
err = monkey.CreateDir("files/1")
if err != nil {
fmt.Println(err)
}
err = monkey.CreateAndWriteFile("files/1/2.txt", []byte("hidiuniduini"))
if err != nil {
fmt.Println(err)
}
}