send_cmd.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package auto
  2. import (
  3. "fmt"
  4. "xg_auto_deploy/internal/global"
  5. "xg_auto_deploy/internal/remote"
  6. )
  7. func CmdToNodes(nodeIds []string, cmd string) {
  8. global.Logs.Infoln("----------------开始发送命令----------------------------")
  9. if nodeIds[0] == "all" {
  10. fmt.Println("is ALL")
  11. for _, nodeTemp := range global.ServerNodeConfigs {
  12. msg, err := remote.SingleCmd(&nodeTemp, cmd)
  13. if err != nil {
  14. global.Logs.Errorf("节点%s 发送命令失败:%s \n", nodeTemp.NodeId, err)
  15. return
  16. }
  17. global.Logs.Infof("节点%s 发送命令成功:%s", nodeTemp.NodeId, msg)
  18. }
  19. return
  20. }
  21. if !IsNumericArray(nodeIds) {
  22. fmt.Println("传入指定节点参数错误,请检查:", nodeIds)
  23. return
  24. }
  25. for _, NodeId := range nodeIds {
  26. nodeTemp := global.ServerNodeConfigs[NodeId]
  27. msg, err := remote.SingleCmd(&nodeTemp, cmd)
  28. if err != nil {
  29. global.Logs.Errorf("节点%s 发送命令失败:%s \n", nodeTemp.NodeId, err)
  30. return
  31. }
  32. global.Logs.Infof("节点%s 发送命令成功:%s", nodeTemp.NodeId, msg)
  33. }
  34. }