浏览代码

修改部署数据库方式

GTong 11 月之前
父节点
当前提交
3990e1ed97
共有 35 个文件被更改,包括 737 次插入129 次删除
  1. 6 6
      BIN/xgad/config.toml
  2. 0 1
      BIN/xgad/file/test/123.txt
  3. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xgconsole-linux-aarch64
  4. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xugu_cluster_linux_aarch64_20240416
  5. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xugu_init.sql
  6. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xugu_start.sh
  7. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/cluster.ini.template
  8. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/mount.ini
  9. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/trust.ini
  10. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/types.ini
  11. 0 0
      BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/xugu.ini
  12. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/BIN/xgconsole-linux-x64
  13. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/BIN/xugu_cluster_linux_x86_64_20240416
  14. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/BIN/xugu_init.sql
  15. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/BIN/xugu_start.sh
  16. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/SETUP/cluster.ini.template
  17. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/SETUP/mount.ini
  18. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/SETUP/trust.ini
  19. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/SETUP/types.ini
  20. 0 0
      BIN/xgad/file/xugu/XuguDB-x64/SETUP/xugu.ini
  21. 192 86
      BIN/xgad/logs/xg_autodeploy.log
  22. 二进制
      BIN/xgad/xgAD使用说明.pdf
  23. 二进制
      BIN/xgad/xgad.exe
  24. 21 0
      config.toml
  25. 2 2
      file/config.toml
  26. 47 21
      internal/auto/xugu_deploy.go
  27. 69 4
      internal/auto/xugu_start.go
  28. 7 5
      internal/cmd/cmd.go
  29. 20 0
      internal/config/set_xgini.go
  30. 52 3
      internal/remote/remote.go
  31. 3 1
      internal/remote/upload.go
  32. 26 0
      internal/utils/utils.go
  33. 292 0
      logs/xg_autodeploy.log
  34. 二进制
      xgAD使用说明.docx
  35. 二进制
      ~$AD使用说明.docx

+ 6 - 6
BIN/xgad/config.toml

@@ -1,13 +1,14 @@
 [node]
-local_file = "./file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64" 
-target_file = "/DATA2/GT/xugu/start"
-xugu_addr = "/DATA2/GT/xugu/start"
+#local_file = "./file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64" 
+#target_file = "/DATA2/GT/xugu/start"
+xugu_addr = "/DATA2/GT/xugu/start3"
 [node.1]
 ip_port = "10.28.20.101:22"
-user_password ="root:Xugu@2023"
+user_password ="root:Xugu@2023!@#"
 [node.2]
 ip_port = "10.28.20.102:22"
-user_password ="root:Xugu@2023"
+user_password ="root:Xugu@2023!@#"
+
 
 [xugu]
 #local_file = "./file/xugu.ini"
@@ -18,4 +19,3 @@ listen_port = "5189"
 local_file ="./file/cluster.ini"
 
 
-

+ 0 - 1
BIN/xgad/file/test/123.txt

@@ -1 +0,0 @@
-1313gaS

+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/BIN/xgconsole-linux-aarch64 → BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xgconsole-linux-aarch64


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/BIN/xugu_cluster_linux_aarch64_20240416 → BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xugu_cluster_linux_aarch64_20240416


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/BIN/xugu_init.sql → BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xugu_init.sql


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/BIN/xugu_start.sh → BIN/xgad/file/xugu/XuguDB-aarch64/BIN/xugu_start.sh


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/SETUP/cluster.ini.template → BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/cluster.ini.template


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/SETUP/mount.ini → BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/mount.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/SETUP/trust.ini → BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/trust.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/SETUP/types.ini → BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/types.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64/SETUP/xugu.ini → BIN/xgad/file/xugu/XuguDB-aarch64/SETUP/xugu.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/BIN/xgconsole-linux-x64 → BIN/xgad/file/xugu/XuguDB-x64/BIN/xgconsole-linux-x64


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/BIN/xugu_cluster_linux_x86_64_20240416 → BIN/xgad/file/xugu/XuguDB-x64/BIN/xugu_cluster_linux_x86_64_20240416


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/BIN/xugu_init.sql → BIN/xgad/file/xugu/XuguDB-x64/BIN/xugu_init.sql


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/BIN/xugu_start.sh → BIN/xgad/file/xugu/XuguDB-x64/BIN/xugu_start.sh


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/SETUP/cluster.ini.template → BIN/xgad/file/xugu/XuguDB-x64/SETUP/cluster.ini.template


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/SETUP/mount.ini → BIN/xgad/file/xugu/XuguDB-x64/SETUP/mount.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/SETUP/trust.ini → BIN/xgad/file/xugu/XuguDB-x64/SETUP/trust.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/SETUP/types.ini → BIN/xgad/file/xugu/XuguDB-x64/SETUP/types.ini


+ 0 - 0
BIN/xgad/file/xugu/XuguDB-12.4_20240416-cluster-linux-x64/SETUP/xugu.ini → BIN/xgad/file/xugu/XuguDB-x64/SETUP/xugu.ini


+ 192 - 86
BIN/xgad/logs/xg_autodeploy.log

@@ -1,86 +1,192 @@
-{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-04T10:31:04+08:00"}
-{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"1节点未设置cluser.ini文件\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"2节点未设置cluser.ini文件\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-04T10:31:07+08:00"}
-{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-04T10:34:15+08:00"}
-{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-04T10:34:18+08:00"}
-{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-04T10:34:54+08:00"}
-{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-04T10:34:57+08:00"}
-{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-04T10:34:57+08:00"}
-{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-04T10:34:58+08:00"}
-{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-04T10:35:56+08:00"}
-{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-04T10:35:59+08:00"}
-{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-04T10:37:13+08:00"}
-{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start/BIN, err:sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-04T10:37:16+08:00"}
-{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-04T10:39:00+08:00"}
-{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-04T10:39:02+08:00"}
-{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-04T10:39:03+08:00"}
-{"level":"info","msg":"----------------开始发送文件----------------------------","time":"2024-06-04T10:42:42+08:00"}
-{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-04T10:42:42+08:00"}
-{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-04T10:42:43+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:37:53+08:00"}
+{"level":"fatal","msg":"ssh服务器失败 (Failed to dial): ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password], no supported methods remain","time":"2024-06-20T09:37:56+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:38:07+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:38:09+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:40:11+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:40:14+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:40:49+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:40:51+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:41:54+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:41:56+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:43:04+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:43:07+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:44:35+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:44:37+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:46:01+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:46:03+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:51:07+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:51:09+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:52:15+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:52:17+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:54:15+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:54:17+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:55:25+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:55:27+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:55:48+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T09:55:51+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T09:58:03+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/s/BIN, err:file does not exist","time":"2024-06-20T09:58:05+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:01:25+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start/BIN, err:sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-20T10:01:28+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:01:51+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start/BIN, err:file does not exist","time":"2024-06-20T10:01:53+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:08:32+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start/BIN, err:file does not exist","time":"2024-06-20T10:08:34+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:12:10+08:00"}
+{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-20T10:12:12+08:00"}
+{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:12:13+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:14:21+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:file does not exist","time":"2024-06-20T10:14:23+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:15:50+08:00"}
+{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:15:53+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:16:21+08:00"}
+{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-20T10:16:24+08:00"}
+{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-20T10:16:24+08:00"}
+{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:16:25+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:19:09+08:00"}
+{"level":"info","msg":"节点2 上传文件夹10.28.20.102:22 到 目标端 %!s(MISSING) ---------------","time":"2024-06-20T10:19:11+08:00"}
+{"level":"info","msg":"节点1 上传文件夹10.28.20.101:22 到 目标端 %!s(MISSING) ---------------","time":"2024-06-20T10:19:11+08:00"}
+{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:19:12+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:21:03+08:00"}
+{"level":"info","msg":"-----节点2 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:21:05+08:00"}
+{"level":"info","msg":"-----节点1 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:21:05+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-20T10:21:05+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:21:11+08:00"}
+{"level":"info","msg":"-----节点2 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:21:14+08:00"}
+{"level":"info","msg":"-----节点1 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:21:14+08:00"}
+{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-20T10:21:14+08:00"}
+{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-20T10:21:14+08:00"}
+{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:21:15+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:22:22+08:00"}
+{"level":"info","msg":"-----节点2 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:22:24+08:00"}
+{"level":"info","msg":"-----节点1 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:22:24+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-20T10:22:24+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:22:32+08:00"}
+{"level":"info","msg":"-----节点2 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:22:34+08:00"}
+{"level":"info","msg":"-----节点1 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:22:34+08:00"}
+{"level":"info","msg":"2节点上传文件成功\n","time":"2024-06-20T10:22:35+08:00"}
+{"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-20T10:22:35+08:00"}
+{"level":"info","msg":"--------------------2节点--------------------------------------:\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"--------------------1节点--------------------------------------:\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Stack size :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Open files :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Wmem Default :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Rmem Default :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"系统环境Wmem Max :已配置\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 GCC :gcc已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 Libaio :libaio已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 Snmpd :snmpd已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"基础包 Ntpd :ntpd已安装\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"--------------------------------------------------------------:\n","time":"2024-06-20T10:22:36+08:00"}
+{"level":"info","msg":"----------------开始部署----------------------------","time":"2024-06-20T10:28:31+08:00"}
+{"level":"info","msg":"-----节点2 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:28:33+08:00"}
+{"level":"info","msg":"-----节点1 上传文件夹file\\xugu\\XuguDB-aarch64 到 目标端 /DATA2/GT/xugu/start3 ","time":"2024-06-20T10:28:34+08:00"}
+{"level":"fatal","msg":"创建文件夹失败 ( 查看目标端目录文件夹是否已存在 ): /DATA2/GT/xugu/start3/BIN, err:sftp: \"Failure\" (SSH_FX_FAILURE)","time":"2024-06-20T10:28:34+08:00"}

二进制
BIN/xgad/xgAD使用说明.pdf


二进制
BIN/xgad/xgad.exe


+ 21 - 0
config.toml

@@ -0,0 +1,21 @@
+[node]
+local_file = "./file/xugu/XuguDB-12.4_20240416-cluster-linux-aarch64" 
+target_file = "/DATA2/GT/xugu/start"
+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"
+
+
+

+ 2 - 2
file/config.toml

@@ -10,12 +10,12 @@ ip_port = "10.28.20.102:22"
 user_password ="root:Xugu@2023"
 
 [xugu]
-local_file = "./file/xugu.ini"
+#local_file = "./file/xugu.ini"
 data_buff_mem = "1024"
 listen_port = "5189"
 
 [cluster]
-local_file ="./file/cluster.ini"
+#local_file ="./file/cluster.ini"
 
 
 

+ 47 - 21
internal/auto/xugu_deploy.go

@@ -14,8 +14,6 @@ import (
 	"xg_auto_deploy/internal/models"
 	"xg_auto_deploy/internal/remote"
 	"xg_auto_deploy/internal/utils"
-
-	"golang.org/x/crypto/ssh"
 )
 
 var wg sync.WaitGroup
@@ -160,35 +158,63 @@ func setxginiMemory(nodeTemp *models.ServerNodeConfig, onOff bool) {
 // 上传文件到目标服务器
 func UploadFileOrDir(serverNodeId string, serverNodeConfig *models.ServerNodeConfig) {
 	//传送文件
-	//检测上传为文件还是文件夹
-	ret, _ := utils.IsFileOrFolder(serverNodeConfig.LocalFile)
-	switch ret {
-	case "file":
-		err := remote.UploadFile(serverNodeConfig, serverNodeConfig.LocalFile, serverNodeConfig.TargetFile)
-		if err != nil {
-			global.Logs.Fatalf("%s节点上传文件失败: %s\n", serverNodeId, err)
-			return
+	upFiles := func(serverNodeConfig *models.ServerNodeConfig, LocalFile string) {
+		//检测上传为文件还是文件夹
+		ret, _ := utils.IsFileOrFolder(LocalFile)
+		switch ret {
+		case "file":
+			err := remote.UploadFile(serverNodeConfig, LocalFile, serverNodeConfig.XuguAddr)
+			if err != nil {
+				global.Logs.Fatalf("----- %s节点上传文件失败: %s\n", serverNodeId, err)
+				return
+			}
+
+			global.Logs.Printf("----- %s节点上传文件成功\n", serverNodeId)
+			remote.SingleCmd(serverNodeConfig, fmt.Sprintf(`chmod -R +x %s`, serverNodeConfig.XuguAddr))
+		case "folder":
+			// // 连接到远程主机
+			// client, err := ssh.Dial("tcp", serverNodeConfig.IpPort, serverNodeConfig.SSHClient)
+			// if err != nil {
+			// 	panic(err)
+			// }
+			// defer client.Close()
+			// 检测远端文件夹是否存在,不存在则创建 [ ! -d "/DATA2/GT/test" ] && mkdir -p /DATA2/GT/test
+			remote.SingleCmd(serverNodeConfig, fmt.Sprintf(`[ ! -d "%s" ] && mkdir -p %s`, serverNodeConfig.XuguAddr, serverNodeConfig.XuguAddr))
+			// 上传文件夹
+			err := remote.UploadDir(serverNodeConfig, LocalFile, serverNodeConfig.XuguAddr)
+			if err != nil {
+				panic(err)
+			}
+			global.Logs.Printf("----- %s节点上传文件成功\n", serverNodeId)
+			remote.SingleCmd(serverNodeConfig, fmt.Sprintf(`chmod -R +x %s`, serverNodeConfig.XuguAddr))
+
 		}
+	}
 
-		global.Logs.Printf("%s节点上传文件成功\n", serverNodeId)
+	//检测服务器是什么架构
+	architecture, err := remote.SingleCmd(serverNodeConfig, "uname -m")
+	if err != nil {
+		global.Logs.Printf("检测节点%s 服务器架构失败\n", serverNodeId)
+		panic(err)
+	}
 
-	case "folder":
-		// 连接到远程主机
-		client, err := ssh.Dial("tcp", serverNodeConfig.IpPort, serverNodeConfig.SSHClient)
+	if strings.TrimSpace(architecture) == "aarch64" {
+		fileLocal, err := utils.FindDirWithSubstring("./file/xugu", "aarch64")
 		if err != nil {
+			global.Logs.Printf("未查找到虚谷安装包\n")
 			panic(err)
 		}
-		defer client.Close()
-		// 检测远端文件夹是否存在,不存在则创建 [ ! -d "/DATA2/GT/test" ] && mkdir -p /DATA2/GT/test
-		remote.SingleCmd(serverNodeConfig, fmt.Sprintf(`[ ! -d "%s" ] && mkdir -p %s`, serverNodeConfig.TargetFile, serverNodeConfig.TargetFile))
-		// 上传文件夹
-		err = remote.UploadDir(serverNodeConfig, serverNodeConfig.LocalFile, serverNodeConfig.TargetFile)
+
+		// 传送文件
+		upFiles(serverNodeConfig, fileLocal)
+	} else if strings.TrimSpace(architecture) == "x86" || strings.TrimSpace(architecture) == "64" {
+		fileLocal, err := utils.FindDirWithSubstring("./file/xugu", "aarch64")
 		if err != nil {
+			global.Logs.Printf("未查找到虚谷安装包\n")
 			panic(err)
 		}
-		global.Logs.Printf("%s节点上传文件成功\n", serverNodeId)
-		remote.SingleCmd(serverNodeConfig, fmt.Sprintf(`chmod -R +x %s`, serverNodeConfig.XuguAddr))
 
+		upFiles(serverNodeConfig, fileLocal)
 	}
 
 }

+ 69 - 4
internal/auto/xugu_start.go

@@ -2,6 +2,8 @@ package auto
 
 import (
 	"fmt"
+	"strings"
+	"xg_auto_deploy/internal/config"
 	"xg_auto_deploy/internal/global"
 	"xg_auto_deploy/internal/models"
 	"xg_auto_deploy/internal/remote"
@@ -15,11 +17,25 @@ func StartAll() {
 		go func(serverNodeConfig models.ServerNodeConfig, serverNodeId string) {
 			fmt.Println("serverNodeConfig.XuguAddr: ", serverNodeConfig.XuguAddr)
 			if serverNodeConfig.XuguAddr != "" {
-				fmt.Println("启动服务器:", serverNodeId)
+				xgBin := findXuguBin(&serverNodeConfig)
+				//fmt.Println("启动服务器:", serverNodeId)
+				cmd := fmt.Sprintf("stdbuf -o0  %s/BIN/%s -service  ", serverNodeConfig.XuguAddr, xgBin)
+				//cmd := fmt.Sprintf("%s/BIN/xugu_cluster_linux_aarch64_20240416 -service > /dev/null ", serverNodeConfig.XuguAddr)
 
-				cmd := fmt.Sprintf("%s/BIN/xugu_cluster_linux_aarch64_20240416 -service > /dev/null ", serverNodeConfig.XuguAddr)
-				fmt.Println("启动命令:", cmd)
-				remote.SingleCmd(&serverNodeConfig, cmd)
+				global.Logs.Infof("%s节点执行命令%s\n", serverNodeId, cmd)
+				ret, err := remote.SingleCmdTime(&serverNodeConfig, cmd)
+				if err != nil {
+					global.Logs.Errorf("启动%s节点数据库失败\n", serverNodeId)
+				} else {
+					global.Logs.Infof("%s节点执行命令返回: %s", serverNodeId, ret)
+				}
+
+				if checkXuguPort(&serverNodeConfig) {
+					global.Logs.Infof("启动%s节点数据库成功\n", serverNodeId)
+				} else {
+					global.Logs.Errorf("启动%s节点数据库失败\n", serverNodeId)
+
+				}
 			}
 			defer wg.Done()
 		}(nodeTemp, NodeId)
@@ -28,3 +44,52 @@ func StartAll() {
 	wg.Wait()
 
 }
+
+func findXuguBin(serverNodeConfig *models.ServerNodeConfig) string {
+	cmd := fmt.Sprintf("cd %s/BIN/ && ls", serverNodeConfig.XuguAddr)
+	global.Logs.Infoln("执行命令:", cmd)
+	input, err := remote.SingleCmd(serverNodeConfig, cmd)
+	if err != nil {
+
+		global.Logs.Errorf("查找虚谷BIN文件出错 Error:\n", err)
+	}
+
+	items := strings.Split(input, "\n")
+
+	var result []string
+
+	// 过滤掉包含 "init"、"console" 和 ".sh" 的字符串
+	for _, str := range items {
+		if !strings.Contains(str, "init") && !strings.Contains(str, "console") && !strings.HasSuffix(str, ".sh") {
+			result = append(result, str)
+		}
+	}
+
+	// 将结果数组重新组合为字符串
+	//output := `"` + strings.Join(result, `", "`) + `"`
+
+	return result[0]
+}
+
+func checkXuguPort(serverNodeConfig *models.ServerNodeConfig) bool {
+
+	xuguIniDownloadTempbuf := remote.DownloadFileBuffer(serverNodeConfig, fmt.Sprintf(serverNodeConfig.XuguAddr+"/SETUP/xugu.ini"))
+	keyToFind := "listen_port"
+
+	port, err := config.GetXginiValue(xuguIniDownloadTempbuf, keyToFind)
+	if err != nil {
+
+		global.Logs.Errorf("查找虚谷ini配置文件出错 Error:\n", err)
+	}
+	remote.SingleCmd(serverNodeConfig, "chmod -R +x "+serverNodeConfig.XuguAddr)
+	ret, err := remote.SingleCmdTime(serverNodeConfig, "lsof -i:"+port)
+	if err != nil {
+		//fmt.Println("执行命令失败:", err)
+		return false
+	} else {
+
+		global.Logs.Infoln("执行命令返回 ret:", ret)
+		return true
+	}
+
+}

+ 7 - 5
internal/cmd/cmd.go

@@ -13,16 +13,17 @@ import (
 func Execute() {
 	if len(os.Args) < 2 {
 		fmt.Println("Commands:")
-		fmt.Println("  all  : 自动部署数据库")
+		fmt.Println("  install  : 自动部署数据库")
 		fmt.Println("  send  :  发送文件或文件夹")
+		fmt.Println("  start  :  启动配置文件内的所有节点")
 		os.Exit(1)
 	}
 
 	switch os.Args[1] {
 	case "version":
 		fmt.Println("Version: 1.0.0")
-	case "all":
-		allCmd := flag.NewFlagSet("all", flag.ExitOnError)
+	case "install":
+		allCmd := flag.NewFlagSet("install", flag.ExitOnError)
 		hMode := allCmd.String("s", "./config.toml", "指定配置文件")
 
 		// 如果只有 "all" 命令,没有其他参数
@@ -52,8 +53,9 @@ func Execute() {
 	default:
 		fmt.Printf("(未知命令)Unknown command: %s\n", os.Args[1])
 		fmt.Println("Commands:")
-		fmt.Println("  all  : 自动部署数据库")
+		fmt.Println("  install  : 自动部署数据库")
 		fmt.Println("  send  :  发送文件或文件夹")
+		fmt.Println("  start  :  启动配置文件内的所有节点")
 		os.Exit(1)
 	}
 
@@ -146,7 +148,7 @@ func paraSend() {
 
 func paraStart() {
 	allCmd := flag.NewFlagSet("start", flag.ExitOnError)
-	hMode := allCmd.String("s", "./config.toml", "指定配置文件")
+	hMode := allCmd.String("s", "", "指定配置文件")
 
 	// 如果只有 "start" 命令,没有其他参数
 	if len(os.Args) == 2 {

+ 20 - 0
internal/config/set_xgini.go

@@ -47,3 +47,23 @@ func SetXginiBuffer(configBuffer *bytes.Buffer, xginiMap map[string]string) {
 
 	//fmt.Println("配置文件已成功更新。")
 }
+
+func GetXginiValue(buffer *bytes.Buffer, key string) (string, error) {
+	scanner := bufio.NewScanner(buffer)
+	for scanner.Scan() {
+		line := scanner.Text()
+		if strings.Contains(line, key) {
+			parts := strings.Split(line, "=")
+			if len(parts) > 1 && strings.TrimSpace(parts[0]) == key {
+				valuePart := strings.Split(parts[1], ";")
+				if len(valuePart) > 0 {
+					return strings.TrimSpace(valuePart[0]), nil
+				}
+			}
+		}
+	}
+	if err := scanner.Err(); err != nil {
+		return "", err
+	}
+	return "", fmt.Errorf("未查找到xugu.ini %s 字段,key not found", key)
+}

+ 52 - 3
internal/remote/remote.go

@@ -2,8 +2,10 @@ package remote
 
 import (
 	"bytes"
-	"errors"
+	"context"
 	"os"
+	"strings"
+	"time"
 	"xg_auto_deploy/internal/global"
 	"xg_auto_deploy/internal/models"
 
@@ -35,7 +37,7 @@ func SingleCmd(nodeConfig *models.ServerNodeConfig, cmd string) (string, error)
 	if err := session.Run(cmd); err != nil {
 		// log.Errorf("Failed to run: " + cmd)
 		// log.Errorf("命令运行失败: %s", err)
-		return b.String(), errors.New("命令发送失败 (failed to run)")
+		return b.String(), err
 	}
 
 	//fmt.Println(b.String())
@@ -44,5 +46,52 @@ func SingleCmd(nodeConfig *models.ServerNodeConfig, cmd string) (string, error)
 
 func SingleCmdTime(nodeConfig *models.ServerNodeConfig, cmd string) (string, error) {
 
-	return "", nil
+	// 替换为你的远程服务器的 IP 地址和端口
+	client, err := ssh.Dial("tcp", nodeConfig.IpPort, nodeConfig.SSHClient)
+	if err != nil {
+		global.Logs.Fatalf("Failed to dial: %s", err)
+	}
+	defer client.Close()
+
+	// 创建新会话
+	session, err := client.NewSession()
+	if err != nil {
+		global.Logs.Fatalf("Failed to create session: %s", err)
+	}
+	defer session.Close()
+
+	// 捕获标准输出和标准错误输出
+	var stdoutBuilder, stderrBuilder strings.Builder
+	session.Stdout = &stdoutBuilder
+	session.Stderr = &stderrBuilder
+
+	// 设置超时
+	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
+	defer cancel()
+
+	// 创建一个通道来接收命令执行结果
+	done := make(chan error, 1)
+	go func() {
+		// 执行远程命令
+		err := session.Run(cmd) // 替换为你要执行的命令
+		done <- err
+	}()
+
+	// 等待命令执行结果或者超时
+	select {
+	case <-ctx.Done():
+		global.Logs.Println("Command timed out")
+		return "执行超时", nil
+	case err := <-done:
+		if err != nil {
+			global.Logs.Printf("Failed to run: %s", err)
+			global.Logs.Printf("Stderr: %s", stderrBuilder.String())
+			return "", err
+		} else {
+			global.Logs.Println("Command executed successfully")
+			global.Logs.Printf("Stdout: %s", stdoutBuilder.String())
+			return "执行完毕", nil
+		}
+	}
+
 }

+ 3 - 1
internal/remote/upload.go

@@ -136,6 +136,8 @@ func UploadFileBuffer(nodeConfig *models.ServerNodeConfig, localBuffer *bytes.Bu
 
 // 递归上传文件夹内容
 func UploadDir(nodeConfig *models.ServerNodeConfig, localPath, remotePath string) error {
+	global.Logs.Printf("-----节点%s 上传文件夹%s 到 目标端 %s ", nodeConfig.NodeId, localPath, remotePath)
+
 	// 1. 建立 ssh client
 	client, err := ssh.Dial("tcp", nodeConfig.IpPort, nodeConfig.SSHClient)
 	if err != nil {
@@ -157,7 +159,7 @@ func UploadDir(nodeConfig *models.ServerNodeConfig, localPath, remotePath string
 		for _, file := range localFiles {
 			localFilePath := path.Join(localPath, file.Name())
 			remoteFilePath := path.Join(remotePath, file.Name())
-
+			//fmt.Printf("localFilePath: %s, remoteFilePath: %s\n", localFilePath, remoteFilePath)
 			if file.IsDir() {
 				subLocalFiles, err := os.ReadDir(localFilePath)
 				if err != nil {

+ 26 - 0
internal/utils/utils.go

@@ -3,6 +3,7 @@ package utils
 import (
 	"fmt"
 	"os"
+	"path/filepath"
 	"strings"
 )
 
@@ -38,3 +39,28 @@ func IsFileOrFolder(path string) (string, error) {
 		return "file", nil
 	}
 }
+
+// FindDirWithSubstring 查找指定目录中包含特定子字符串的文件夹
+func FindDirWithSubstring(path string, substring string) (string, error) {
+	var foundPath string
+
+	// Walk through the directory
+	err := filepath.Walk(path, func(p string, info os.FileInfo, err error) error {
+		if err != nil {
+			return err
+		}
+
+		// Check if the directory name contains the substring
+		if info.IsDir() && strings.Contains(filepath.Base(p), substring) {
+			foundPath = p
+			return fmt.Errorf("found")
+		}
+		return nil
+	})
+
+	if err != nil && err.Error() != "found" {
+		return "", err
+	}
+	fmt.Println("foundPath", foundPath)
+	return foundPath, nil
+}

+ 292 - 0
logs/xg_autodeploy.log

@@ -857,3 +857,295 @@
 {"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-03T16:13:52+08:00"}
 {"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-03T16:17:30+08:00"}
 {"level":"info","msg":"1节点上传文件成功\n","time":"2024-06-03T16:23:15+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T09:53:34+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T09:53:34+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T09:56:50+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T09:56:50+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:11:04+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:11:04+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:11:22+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:11:22+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:12:06+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:12:06+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:12:29+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:12:29+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:16:10+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:16:10+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:17:44+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:17:44+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:20:55+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:20:55+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:21:32+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:21:32+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:22:20+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:22:20+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:22:48+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:22:48+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:26:00+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:26:00+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:27:01+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:27:01+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:27:25+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:27:25+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:28:12+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:28:12+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:28:49+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:28:49+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:31:25+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:31:26+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:31:53+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:31:53+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:32:37+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:32:37+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:32:47+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:32:47+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:33:42+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:33:42+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:34:28+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:34:28+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:34:40+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:34:40+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:44:43+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T10:44:43+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T10:44:44+08:00"}
+{"level":"info","msg":"Stderr: bash: /DATA2/GT/xugu/start/BIN/stdout.txt: 权限不够\n","time":"2024-06-07T10:44:44+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T10:44:44+08:00"}
+{"level":"info","msg":"Stderr: bash: /DATA2/GT/xugu/start/BIN/stdout.txt: 权限不够\n","time":"2024-06-07T10:44:44+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T13:51:48+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T13:51:48+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T13:51:48+08:00"}
+{"level":"info","msg":"Stderr: bash: /DATA2/GT/xugu/start/BIN/stdout.txt: 权限不够\n","time":"2024-06-07T13:51:48+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T13:51:48+08:00"}
+{"level":"info","msg":"Stderr: bash: /DATA2/GT/xugu/start/BIN/stdout.txt: 权限不够\n","time":"2024-06-07T13:51:48+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T13:52:10+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T13:52:10+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T13:52:15+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T13:52:15+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:27:54+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:27:54+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:28:23+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:28:23+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:34:00+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:34:00+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T15:34:01+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1085771 root   24u  IPv6 37938327      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T15:34:01+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T15:34:01+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 3650848 root   24u  IPv6 250975741      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T15:34:01+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:34:56+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:34:56+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T15:34:57+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T15:34:57+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T15:34:57+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T15:34:57+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:39:03+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T15:39:03+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T15:39:03+08:00"}
+{"level":"info","msg":"Stderr: bash: /DATA2/GT/xugu/start/BIN/stdout.txt: 权限不够\n","time":"2024-06-07T15:39:03+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T15:39:03+08:00"}
+{"level":"info","msg":"Stderr: bash: /DATA2/GT/xugu/start/BIN/stdout.txt: 权限不够\n","time":"2024-06-07T15:39:03+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T15:39:04+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T15:39:04+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-07T15:39:04+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T15:39:04+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T15:39:04+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-07T15:39:04+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:19:35+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:19:35+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Stdout: ","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Stdout: ","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T16:19:36+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T16:19:36+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-07T16:19:36+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:22:54+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:22:54+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T16:22:59+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T16:22:59+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:23:00+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1133069 root   24u  IPv6 38521785      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:23:00+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-07T16:23:00+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:23:00+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 3704011 root   24u  IPv6 254950691      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:23:00+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-07T16:23:00+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:42:55+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:42:55+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1142435 root   24u  IPv6 38642732      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 3711517 root   24u  IPv6 255262576      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-07T16:43:01+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:46:38+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:46:38+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:46:39+08:00"}
+{"level":"info","msg":"Stdout: XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r\nStart at: 2024-06-07 16:46:39\r\nStart database process PID=1144241,output redirects to file stdout.txt.\n","time":"2024-06-07T16:46:39+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:46:39+08:00"}
+{"level":"info","msg":"Stdout: XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r\nStart at: 2024-06-07 16:45:50\r\nStart database process PID=3713407,output redirects to file stdout.txt.\n","time":"2024-06-07T16:46:39+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:46:40+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 3711517 root   24u  IPv6 255262576      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:46:40+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-07T16:46:40+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:46:40+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1142435 root   24u  IPv6 38642732      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:46:40+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-07T16:46:40+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:48:32+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T16:48:32+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T16:48:37+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T16:48:37+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:48:38+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 3714385 root   24u  IPv6 255838307      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:48:38+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-07T16:48:38+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T16:48:38+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1145227 root   24u  IPv6 38648452      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T16:48:38+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-07T16:48:38+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:08:39+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:08:39+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/xugu_cluster_linux_aarch64_20240416 -service  \n","time":"2024-06-07T17:08:40+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/xugu_cluster_linux_aarch64_20240416 -service  \n","time":"2024-06-07T17:08:40+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"2节点执行命令返回: 执行超时\n","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"1节点执行命令返回: 执行超时\n","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1154956 root   24u  IPv6 38722388      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 3722456 root   24u  IPv6 256257487      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-07T17:08:45+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:20:22+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:20:22+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-07T17:20:22+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-07T17:20:22+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Stderr: stdbuf: 无法运行命令 “/DATA2/GT/xugu/start/BIN/stdout.txt”: 权限不够\n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"启动2节点数据库失败\n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Stderr: stdbuf: 无法运行命令 “/DATA2/GT/xugu/start/BIN/stdout.txt”: 权限不够\n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"启动1节点数据库失败\n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T17:20:23+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T17:20:23+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-07T17:20:23+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"Stderr: stdbuf: 无法运行命令 “/DATA2/GT/xugu/start/BIN/stdout.txt”: 权限不够\n","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"启动1节点数据库失败\n","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"Stderr: stdbuf: 无法运行命令 “/DATA2/GT/xugu/start/BIN/stdout.txt”: 权限不够\n","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"启动2节点数据库失败\n","time":"2024-06-07T17:40:25+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Stdout: ","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Stdout: ","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T17:40:26+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T17:40:26+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-07T17:40:26+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:40:59+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-07T17:40:59+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-07T17:40:59+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-07T17:40:59+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 2","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Stderr: /DATA2/GT/xugu/start/BIN/stdout.txt:行1: 未预期的符号“(”附近有语法错误\n/DATA2/GT/xugu/start/BIN/stdout.txt:行1: `XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r'\n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"启动1节点数据库失败\n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 2","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Stderr: /DATA2/GT/xugu/start/BIN/stdout.txt:行1: 未预期的符号“(”附近有语法错误\n/DATA2/GT/xugu/start/BIN/stdout.txt:行1: `XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r'\n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"启动2节点数据库失败\n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T17:41:00+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-07T17:41:00+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-07T17:41:01+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-07T17:41:01+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-07T17:41:01+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -oL  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 2","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"Stderr: /DATA2/GT/xugu/start/BIN/stdout.txt:行1: 未预期的符号“(”附近有语法错误\n/DATA2/GT/xugu/start/BIN/stdout.txt:行1: `XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r'\n","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"启动2节点数据库失败\n","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 2","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"Stderr: /DATA2/GT/xugu/start/BIN/stdout.txt:行1: 未预期的符号“(”附近有语法错误\n/DATA2/GT/xugu/start/BIN/stdout.txt:行1: `XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r'\n","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"启动1节点数据库失败\n","time":"2024-06-11T14:06:19+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-11T14:06:20+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-11T14:06:20+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-11T14:06:20+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-11T14:06:20+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-11T14:06:20+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-11T14:06:20+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -o0  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -o0  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 2","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"Stderr: /DATA2/GT/xugu/start/BIN/stdout.txt:行1: 未预期的符号“(”附近有语法错误\n/DATA2/GT/xugu/start/BIN/stdout.txt:行1: `XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r'\n","time":"2024-06-11T14:22:44+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 2","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"Stderr: /DATA2/GT/xugu/start/BIN/stdout.txt:行1: 未预期的符号“(”附近有语法错误\n/DATA2/GT/xugu/start/BIN/stdout.txt:行1: `XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)\r'\n","time":"2024-06-11T14:22:44+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-11T14:22:44+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-11T14:22:45+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-11T14:22:45+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-11T14:22:45+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 1","time":"2024-06-11T14:22:45+08:00"}
+{"level":"info","msg":"Stderr: ","time":"2024-06-11T14:22:45+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-11T14:22:45+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:30:32+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:30:32+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:30:32+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:30:32+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -o0  /DATA2/GT/xugu/start/BIN/xugu_cluster_linux_aarch64_20240416 -service  \n","time":"2024-06-11T14:30:32+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -o0  /DATA2/GT/xugu/start/BIN/xugu_cluster_linux_aarch64_20240416 -service  \n","time":"2024-06-11T14:30:32+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-11T14:30:37+08:00"}
+{"level":"info","msg":"Command timed out","time":"2024-06-11T14:30:37+08:00"}
+{"level":"info","msg":"2节点执行命令返回: 执行超时","time":"2024-06-11T14:30:37+08:00"}
+{"level":"info","msg":"1节点执行命令返回: 执行超时","time":"2024-06-11T14:30:37+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 1486825 root   24u  IPv6 397643512      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"执行命令返回 ret:\n 执行完毕","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1477051 root   24u  IPv6 60044713      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"执行命令返回 ret:\n 执行完毕","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-11T14:30:38+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:42:07+08:00"}
+{"level":"info","msg":"----------------开始启动服务器----------------------------","time":"2024-06-11T14:42:07+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:42:07+08:00"}
+{"level":"info","msg":"执行命令: cd /DATA2/GT/xugu/start/BIN/ \u0026\u0026 ls","time":"2024-06-11T14:42:07+08:00"}
+{"level":"info","msg":"2节点执行命令stdbuf -o0  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-11T14:42:07+08:00"}
+{"level":"info","msg":"1节点执行命令stdbuf -o0  /DATA2/GT/xugu/start/BIN/stdout.txt -service  \n","time":"2024-06-11T14:42:07+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Stderr: stdbuf: 无法运行命令 “/DATA2/GT/xugu/start/BIN/stdout.txt”: 文本文件忙\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"error","msg":"启动2节点数据库失败\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Failed to run: Process exited with status 126","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Stderr: stdbuf: 无法运行命令 “/DATA2/GT/xugu/start/BIN/stdout.txt”: 文本文件忙\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"error","msg":"启动1节点数据库失败\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME\nxugu_clus 1486825 root   24u  IPv6 397643512      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"执行命令返回 ret: 执行完毕","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"启动1节点数据库成功\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Command executed successfully","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"Stdout: COMMAND       PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME\nxugu_clus 1477051 root   24u  IPv6 60044713      0t0  TCP *:5189 (LISTEN)\n","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"执行命令返回 ret: 执行完毕","time":"2024-06-11T14:42:08+08:00"}
+{"level":"info","msg":"启动2节点数据库成功\n","time":"2024-06-11T14:42:08+08:00"}

二进制
xgAD使用说明.docx


二进制
~$AD使用说明.docx