mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-02-06 13:40:06 +00:00
🚸 [agent v0.3.3] 优化多行及带参命令执行
This commit is contained in:
@@ -21,6 +21,7 @@ import (
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"github.com/naiba/nezha/model"
|
||||
"github.com/naiba/nezha/pkg/utils"
|
||||
pb "github.com/naiba/nezha/proto"
|
||||
"github.com/naiba/nezha/service/dao"
|
||||
"github.com/naiba/nezha/service/monitor"
|
||||
@@ -230,7 +231,12 @@ func doTask(task *pb.Task) {
|
||||
}
|
||||
case model.TaskTypeCommand:
|
||||
startedAt := time.Now()
|
||||
cmd := exec.Command(task.GetData())
|
||||
var cmd *exec.Cmd
|
||||
if utils.IsWindows() {
|
||||
cmd = exec.Command("cmd", "/c", task.GetData())
|
||||
} else {
|
||||
cmd = exec.Command("sh", "-c", task.GetData())
|
||||
}
|
||||
output, err := cmd.Output()
|
||||
result.Delay = float32(time.Now().Sub(startedAt).Seconds())
|
||||
if err != nil {
|
||||
|
||||
@@ -3,7 +3,8 @@ set -x
|
||||
|
||||
ME=`whoami`
|
||||
|
||||
ping example.com -c20 && \
|
||||
ping example.com -c3 && \
|
||||
echo "==== $ME ====" && \
|
||||
ping example.net -c20 && \
|
||||
ping example.net -c3 && \
|
||||
echo $1 && \
|
||||
echo "==== done! ===="
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/go-ping/ping"
|
||||
"github.com/naiba/nezha/pkg/utils"
|
||||
"github.com/shirou/gopsutil/v3/disk"
|
||||
)
|
||||
|
||||
@@ -77,7 +78,13 @@ func cmdExec() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
cmd := exec.Command(execFrom + "/cmd/playground/example.sh")
|
||||
var cmd *exec.Cmd
|
||||
if utils.IsWindows() {
|
||||
cmd = exec.Command("cmd", "/c", execFrom+"/cmd/playground/example.sh hello asd")
|
||||
} else {
|
||||
cmd = exec.Command("sh", "-c", execFrom+`/cmd/playground/example.sh hello && \
|
||||
echo world!`)
|
||||
}
|
||||
output, err := cmd.Output()
|
||||
log.Println("output:", string(output))
|
||||
log.Println("err:", err)
|
||||
|
||||
Reference in New Issue
Block a user