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
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)
|
|
}
|
|
}
|