Kaynağa Gözat

添加命令行信息

GTong 11 ay önce
ebeveyn
işleme
fef7031bca
3 değiştirilmiş dosya ile 50 ekleme ve 40 silme
  1. 6 1
      file/config.toml
  2. 44 39
      internal/cmd/cmd.go
  3. BIN
      xgAD使用说明.docx

+ 6 - 1
file/config.toml

@@ -5,12 +5,17 @@ xugu_addr = "/DATA2/GT/xugu/start"
 [node.1]
 ip_port = "10.28.20.101:22"
 user_password ="root:Xugu@2023"
+[node.2]
+ip_port = "10.28.20.102:22"
+user_password ="root:Xugu@2023"
 
 [xugu]
 local_file = "./file/xugu.ini"
+data_buff_mem = "1024"
+listen_port = "5189"
 
 [cluster]
-#local_file ="./file/cluster.ini"
+local_file ="./file/cluster.ini"
 
 
 

+ 44 - 39
internal/cmd/cmd.go

@@ -12,14 +12,15 @@ import (
 // Execute 初始化和运行应用程序
 func Execute() {
 	if len(os.Args) < 2 {
-		fmt.Println("Usage: <command> [arguments]")
 		fmt.Println("Commands:")
 		fmt.Println("  all  : 自动部署数据库")
-		fmt.Println("  start  :  启动节点")
+		fmt.Println("  send  :  发送文件或文件夹")
 		os.Exit(1)
 	}
 
 	switch os.Args[1] {
+	case "version":
+		fmt.Println("Version: 1.0.0")
 	case "all":
 		allCmd := flag.NewFlagSet("all", flag.ExitOnError)
 		hMode := allCmd.String("s", "./file/config.toml", "指定配置文件")
@@ -45,36 +46,14 @@ func Execute() {
 			auto.AutoDeployALL()
 		}
 	case "start":
-		allCmd := flag.NewFlagSet("start", flag.ExitOnError)
-		hMode := allCmd.String("s", "./file/config.toml", "指定配置文件")
-
-		// 如果只有 "start" 命令,没有其他参数
-		if len(os.Args) == 2 {
-			fmt.Println("使用默认配置文件")
-			global.InitNodeSetting("./file/config.toml")
-			auto.StartAll()
-			return
-		}
-
-		// 解析 all 命令的参数
-		allCmd.Parse(os.Args[2:])
-
-		if *hMode != "" {
-			fmt.Printf("指定配置文件: %s\n", *hMode)
-			global.InitNodeSetting(*hMode)
-			auto.StartAll()
-		} else {
-			fmt.Println("使用默认配置文件")
-			global.InitNodeSetting("./file/config.toml")
-			auto.StartAll()
-		}
+		paraStart()
 	case "send":
 		paraSend()
 	default:
-		fmt.Printf("Unknown command: %s\n", os.Args[1])
-		fmt.Println("Usage: <command> [arguments]")
+		fmt.Printf("(未知命令)Unknown command: %s\n", os.Args[1])
 		fmt.Println("Commands:")
-		fmt.Println("  all  Execute default or specific mode based on arguments")
+		fmt.Println("  all  : 自动部署数据库")
+		fmt.Println("  send  :  发送文件或文件夹")
 		os.Exit(1)
 	}
 
@@ -88,7 +67,7 @@ func paraSend() {
 	if len(os.Args) == 2 {
 		//fmt.Println("使用默认配置文件参数发送至全部节点")
 		global.InitNodeSetting("./file/config.toml")
-		auto.SendToNodeS([]string{"all"}, "", "")
+		auto.SendToNodes([]string{"all"}, "", "")
 
 		return
 	}
@@ -104,39 +83,39 @@ func paraSend() {
 		switch len(paraArgs) {
 		case 2:
 			//fmt.Printf("指定配置文件参数发送至所有节点: %s\n", *hMode)
-			auto.SendToNodeS([]string{"all"}, "", "")
+			auto.SendToNodes([]string{"all"}, "", "")
 			return
 
 		case 3:
 			if paraArgs[2] == "all" {
 				//fmt.Printf("发送至所有节点\n")
-				auto.SendToNodeS([]string{"all"}, "", "")
+				auto.SendToNodes([]string{"all"}, "", "")
 				return
 			}
 			nodeIds := strings.Split(paraArgs[2], ",")
 			//fmt.Printf("发送至指定节点: %s\n", nodeIds)
-			auto.SendToNodeS(nodeIds, "", "")
+			auto.SendToNodes(nodeIds, "", "")
 			return
 
 		case 4:
 			if paraArgs[2] == "all" {
 				//fmt.Printf("发送至所有节点\n")
-				auto.SendToNodeS([]string{"all"}, paraArgs[3], "")
+				auto.SendToNodes([]string{"all"}, paraArgs[3], "")
 				return
 			}
 			nodeIds := strings.Split(paraArgs[2], ",")
 			//fmt.Printf("指定配置文件参数发送至所有节点: %s\n", nodeIds)
-			auto.SendToNodeS(nodeIds, paraArgs[3], "")
+			auto.SendToNodes(nodeIds, paraArgs[3], "")
 
 		case 5:
 			if paraArgs[2] == "all" {
 				//fmt.Printf("发送至所有节点\n")
-				auto.SendToNodeS([]string{"all"}, paraArgs[3], paraArgs[4])
+				auto.SendToNodes([]string{"all"}, paraArgs[3], paraArgs[4])
 				return
 			}
 			nodeIds := strings.Split(paraArgs[2], ",")
 			//	fmt.Printf("指定配置文件参数发送至所有节点: %s\n", nodeIds)
-			auto.SendToNodeS(nodeIds, paraArgs[3], paraArgs[4])
+			auto.SendToNodes(nodeIds, paraArgs[3], paraArgs[4])
 		}
 
 	} else {
@@ -148,19 +127,45 @@ func paraSend() {
 		case 1:
 			nodeIds := strings.Split(paraArgs[0], ",")
 			fmt.Printf("指定配置文件参数发送至所有节点: %s\n", nodeIds)
-			auto.SendToNodeS(nodeIds, "", "")
+			auto.SendToNodes(nodeIds, "", "")
 		case 2:
 
 			nodeIds := strings.Split(paraArgs[0], ",")
 			fmt.Printf("指定配置文件参数发送至所有节点: %s\n", nodeIds)
-			auto.SendToNodeS(nodeIds, paraArgs[1], "")
+			auto.SendToNodes(nodeIds, paraArgs[1], "")
 		case 3:
 
 			nodeIds := strings.Split(paraArgs[0], ",")
 			fmt.Printf("指定配置文件参数发送至所有节点: %s\n", nodeIds)
-			auto.SendToNodeS(nodeIds, paraArgs[1], paraArgs[2])
+			auto.SendToNodes(nodeIds, paraArgs[1], paraArgs[2])
 
 		}
 
 	}
 }
+
+func paraStart() {
+	allCmd := flag.NewFlagSet("start", flag.ExitOnError)
+	hMode := allCmd.String("s", "./file/config.toml", "指定配置文件")
+
+	// 如果只有 "start" 命令,没有其他参数
+	if len(os.Args) == 2 {
+		fmt.Println("使用默认配置文件")
+		global.InitNodeSetting("./file/config.toml")
+		auto.StartAll()
+		return
+	}
+
+	// 解析 all 命令的参数
+	allCmd.Parse(os.Args[2:])
+
+	if *hMode != "" {
+		fmt.Printf("指定配置文件: %s\n", *hMode)
+		global.InitNodeSetting(*hMode)
+		auto.StartAll()
+	} else {
+		fmt.Println("使用默认配置文件")
+		global.InitNodeSetting("./file/config.toml")
+		auto.StartAll()
+	}
+}

BIN
xgAD使用说明.docx