diff --git a/src/framework/telnet/telnet.go b/src/framework/telnet/telnet.go index f4633896..c72a46bd 100644 --- a/src/framework/telnet/telnet.go +++ b/src/framework/telnet/telnet.go @@ -27,7 +27,6 @@ func (c *ConnTelnet) NewClient() (*ConnTelnet, error) { proto := "tcp" if strings.Contains(c.Addr, ":") { proto = "tcp6" - c.Addr = fmt.Sprintf("[%s]", c.Addr) } addr := net.JoinHostPort(c.Addr, fmt.Sprint(c.Port)) @@ -76,6 +75,7 @@ func (c *ConnTelnet) RunCMD(cmd string) (string, error) { if _, err := conn.Write([]byte(cmd)); err != nil { return "", err } + time.Sleep(100 * time.Millisecond) } var buf bytes.Buffer diff --git a/src/modules/network_element/service/ne_config_backup.go b/src/modules/network_element/service/ne_config_backup.go index 7329542a..fb984a77 100644 --- a/src/modules/network_element/service/ne_config_backup.go +++ b/src/modules/network_element/service/ne_config_backup.go @@ -103,7 +103,7 @@ func (s NeConfigBackup) FileLocalToNe(neInfo model.NeInfo, localFile string) err // 配置复制到网元内 if neTypeLower == "ims" { // ims目录 - imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manages.yaml", "pcscf", "scscf", "vars.cfg", "zlog"} + imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manager.yaml", "pcscf", "scscf", "vars.cfg", "zlog"} for _, v := range imsDirArr { sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /usr/local/etc/ims && sudo cp -rf %s/ims/%s /usr/local/etc/ims/%v && sudo chmod 755 -R /usr/local/etc/ims/%s", neDirTemp, v, v, v)) } @@ -159,7 +159,7 @@ func (s NeConfigBackup) FileNeToLocal(neInfo model.NeInfo) (string, error) { if neTypeLower == "ims" { // ims目录 sshClient.RunCMD(fmt.Sprintf("mkdir -p %s/ims", neDirTemp)) - imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manages.yaml", "pcscf", "scscf", "vars.cfg", "zlog"} + imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manager.yaml", "pcscf", "scscf", "vars.cfg", "zlog"} for _, v := range imsDirArr { sshClient.RunCMD(fmt.Sprintf("sudo cp -rf /usr/local/etc/ims/%s %s/ims", v, neDirTemp)) } diff --git a/src/modules/network_element/service/ne_version.go b/src/modules/network_element/service/ne_version.go index 39156248..87641616 100644 --- a/src/modules/network_element/service/ne_version.go +++ b/src/modules/network_element/service/ne_version.go @@ -266,7 +266,7 @@ func (r NeVersion) operateCommand(action, neType string, neFilePaths []string) ( // 2s后执行omc相关命令 cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo rm -f /tmp/operate_run_%s_omc.out \n", action)) - cmdStrArr = append(cmdStrArr, fmt.Sprintf("nohup sh -c \"sleep 2s && %s\" > /tmp/operate_run_%s_omc.out2>&1 & \n", strings.Join(omcStrArr, " && "), action)) + cmdStrArr = append(cmdStrArr, fmt.Sprintf("nohup sh -c \"sleep 2s && %s\" > /tmp/operate_run_%s_omc.out 2>&1 & \n", strings.Join(omcStrArr, " && "), action)) cmdStrArr = append(cmdStrArr, fmt.Sprintf("echo '%s' \n", okFlagStr)) return okFlagStr, cmdStrArr, nil } else if neType == "IMS" { diff --git a/src/modules/trace/service/tcpdump.go b/src/modules/trace/service/tcpdump.go index 8708ccf6..54640feb 100644 --- a/src/modules/trace/service/tcpdump.go +++ b/src/modules/trace/service/tcpdump.go @@ -64,6 +64,7 @@ func (s *TCPdump) DumpStart(coreUid, neUid, cmdStr string) (string, error) { if strings.Contains(cmdStr, "-G") { filePath = fmt.Sprintf("%s/part_%%Y%%m%%d%%H%%M%%S.pcap ", neDirTemp) } + sshClient.RunCMD(fmt.Sprintf("sudo touch %s && sudo chmod o+w %s", logPath, logPath)) sendCmd := fmt.Sprintf("sudo timeout 60m sudo tcpdump -i any %s -w %s > %s 2>&1 & echo $!", cmdStr, filePath, logPath) // sudo timeout 60m sudo tcpdump -i any -n -s 0 -v -G 60 -W 6 -w /usr/local/omc/tcpdump/udm/001/20240817104241/part_%Y-%m-%d_%H:%M:%S.pcap > /usr/local/omc/tcpdump/udm/001/20240817104241/tcpdump.log 2>&1 & echo $! // sudo timeout 60m sudo tcpdump -i any -n -s 0 -v -w /usr/local/omc/tcpdump/udm/001/20240817105440/part_2024-08-17_10:54:40.pcap > /usr/local/omc/tcpdump/udm/001/20240817105440/tcpdump.log 2>&1 & echo $! @@ -230,6 +231,7 @@ func (s *TCPdump) UPFTrace(coreUid, neUid, cmdStr string) (string, error) { return "", err } defer telnetClient.Close() + telnetClient.RunCMD("") // 再次排空信息 // 命令拼装 fileName := fmt.Sprintf("%s_%s_part_%s.pcap ", neInfo.NeType, neInfo.NeUID, time.Now().Format("20060102150405")) @@ -250,11 +252,11 @@ func (s *TCPdump) UPFTrace(coreUid, neUid, cmdStr string) (string, error) { // 结果截取 arr := strings.Split(output, "\r\n") - if len(arr) == 2 { + if len(arr) < 2 { return "", fmt.Errorf("trace pacp run failed") } - if len(arr) > 3 { - resMsg := arr[2] + if len(arr) == 3 { + resMsg := arr[1] // pcap trace: unknown input `f file UPF_001_part_2024-08-19...' // pcap trace: dispatch trace already enabled... // pcap trace: dispatch trace already disabled...