feat: 新增网元端文件列表获取和下载

This commit is contained in:
TsMask
2023-12-12 19:37:48 +08:00
parent 4405c5bed6
commit 97042b846d
4 changed files with 171 additions and 16 deletions

View File

@@ -6,44 +6,39 @@ import (
"os/exec"
"path/filepath"
"ems.agt/lib/core/conf"
"ems.agt/lib/log"
"ems.agt/src/framework/config"
"ems.agt/src/framework/logger"
)
// 网元NE 文件复制到远程文件
func FileSCPLocalToNe(neIp, localPath, nePath string) error {
usernameNe := conf.Get("ne.user").(string)
usernameNe := config.Get("ne.user").(string)
// scp /path/to/local/file.txt user@remote-server:/path/to/remote/directory/
neDir := fmt.Sprintf("%s@%s:%s", usernameNe, neIp, nePath)
cmd := exec.Command("scp", "-r", localPath, neDir)
out, err := cmd.CombinedOutput()
_, err := cmd.CombinedOutput()
if err != nil {
logger.Errorf("FileSCPLocalToNe %s", err.Error())
return err
}
log.Infof("FileSCPLocalToNe %s", string(out))
return nil
}
// 网元NE 远程文件复制到本地文件
func FileSCPNeToLocal(neIp, nePath, localPath string) error {
// 获取文件所在的目录路径
dirPath := filepath.Dir(localPath)
// 确保文件夹路径存在
err := os.MkdirAll(dirPath, os.ModePerm)
if err != nil {
log.Errorf("FileSCPNeToLocal MkdirAll err %v", err)
if err := os.MkdirAll(filepath.Dir(localPath), 0750); err != nil {
logger.Errorf("FileSCPNeToLocal MkdirAll err %v", err)
return err
}
usernameNe := conf.Get("ne.user").(string)
usernameNe := config.Get("ne.user").(string)
// scp user@remote-server:/path/to/remote/directory/ /path/to/local/file.txt
neDir := fmt.Sprintf("%s@%s:%s", usernameNe, neIp, nePath)
cmd := exec.Command("scp", "-r", neDir, localPath)
out, err := cmd.CombinedOutput()
_, err := cmd.CombinedOutput()
if err != nil {
logger.Errorf("FileSCPNeToLocal %s", err.Error())
return err
}
log.Infof("FileSCPNeToLocal %s", string(out))
return nil
}