|
@@ -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()
|
|
|
+ }
|
|
|
+}
|