Documentation ¶
Overview ¶
* @Author: duanzt * @Date: 2023-07-14 09:41:38 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 13:10:00 * @FilePath: iconnection.go * @Description: 定义connection interface * * Copyright (c) 2023 by duanzt, All Rights Reserved.
* @Author: duanzt * @Date: 2023-07-14 09:50:38 * @LastEditors: duanzt * @LastEditTime: 2023-07-18 08:27:02 * @FilePath: isession.go * @Description: 定义session interface * * Copyright (c) 2023 by duanzt, All Rights Reserved.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IConnection ¶
type IConnection interface { // Close 关闭连接 // @author duanzt // @date 2023-07-14 09:48:57 // @return error 关闭异常时返回 Close() error // Exec 执行(自定义session动作) // @author duanzt // @date 2023-07-14 09:53:16 // @param context.Context 上下文context // @param func(isession) error 从该function中获取session进行处理 // @return string 执行输出 // @return error ssh异常时返回 Exec(context.Context, func(ISession) error) (string, error) // ExecShell 执行shell // @author duanzt // @date 2023-07-14 09:54:35 // @param context.Context 上下文context // @param string shell脚本 // @return string 执行shell输出结果 // @return error ssh异常时返回 ExecShell(context.Context, string) (string, error) // CopyFileLTR 拷贝文件流到远端 // @author duanzt // @date 2023-07-14 09:56:42 // @param src io.Reader 流 // @param dest string 远端目标文件地址 // @param mode string 文件权限 // @return error ssh异常时返回 CopyFileITR(src io.Reader, dest, mode string) error // CopyFileITRMon 拷贝文件流到远端(监控远端目标文件大小) // @author duanzt // @date 2023-07-14 10:02:16 // @param src io.Reader 流 // @param dest string 远端目标文件地址 // @param mode string 文件权限 // @param destSizeChan chan int64 返回远端目标文件大小,单位:byte // @return error ssh异常时返回 CopyFileITRMon(src io.Reader, dest, mode string, destSizeChan chan int64) (err error) // CopyFileLTR 拷贝本地文件到远端 // @author duanzt // @date 2023-07-14 10:00:05 // @param src dest 本地文件地址 // @param dest string 远端目标文件地址 // @param mode string 文件权限 // @return error ssh异常时返回 CopyFileLTR(src, dest, mode string) error // CopyFileLTRMon 拷贝本地文件到远端(监控远端目标文件大小) // @author duanzt // @date 2023-07-14 10:00:05 // @param src string 本地文件地址 // @param dest string 远端目标文件地址 // @param mode string 文件权限 // @param destSizeChan chan int64 返回远端目标文件大小,单位:byte // @return error ssh异常时返回 CopyFileLTRMon(src, dest, mode string, destSizeChan chan int64) (err error) // CopyFileRTL 拷贝远端文件到本地 // @author duanzt // @date 2023-07-14 09:59:07 // @param src string 远端文件地址 // @param dest string 本地目标文件地址 // @param mode string 文件权限 // @return error ssh异常时返回 CopyFileRTL(src string, dest, mode string) error // CopyFileRTLMon 拷贝远端文件到本地(监控本地目标文件大小) // @author duanzt // @date 2023-07-14 09:59:07 // @param src string 远端文件地址 // @param dest string 本地目标文件地址 // @param mode string 文件权限 // @param destSizeChan chan int64 返回本地目标文件大小,单位:byte // @return error ssh异常时返回 CopyFileRTLMon(src string, dest, mode string, destSizeChan chan int64) (err error) // GetAddr 获取ssh连接地址(例127.0.0.1:22) // @author duanzt // @date 2023-07-14 10:06:15 // @return string ssh连接地址 GetAddr() string // GetIp 获取ssh ip(例127.0.0.1) // @author duanzt // @date 2023-07-14 10:06:36 // @return string ip地址 GetIp() string }
IConnection connection interface
type ISession ¶
type ISession interface { // Exec 执行shell // @author duanzt // @date 2023-07-14 10:09:53 // @param shell string shell命令 // @return error 执行异常时返回 Exec(shell string) error // ExecOutput 执行并同步获取输出结果 // @author duanzt // @date 2023-07-14 10:12:33 // @param shell string shell命令 // @param logFunc func(scanner *bufio.Scanner) 获取输出结果function // @return error 执行异常时返回 ExecOutput(shell string, logFunc func(scanner *bufio.Scanner)) error // Wait 等待执行 // @author duanzt // @date 2023-07-14 10:12:51 // @return error 执行异常时返回 Wait() error // Close 关闭ssh连接 // @author duanzt // @date 2023-07-14 10:13:28 // @return error 执行异常时返回 Close() error // Output Exec执行完后调用,获取执行shell输出结果 // @author duanzt // @date 2023-07-14 10:13:37 // @return string 执行shell输出结果 Output() string }
ISession session interface
Directories ¶
Path | Synopsis |
---|---|
* @Author: duanzt * @Date: 2023-07-14 10:27:45 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 18:53:14 * @FilePath: connection.go * @Description: 本地连接(逻辑上,并没有建立任何连接) * * Copyright (c) 2023 by duanzt, All Rights Reserved.
|
* @Author: duanzt * @Date: 2023-07-14 10:27:45 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 18:53:14 * @FilePath: connection.go * @Description: 本地连接(逻辑上,并没有建立任何连接) * * Copyright (c) 2023 by duanzt, All Rights Reserved. |
* @Author: duanzt * @Date: 2023-07-14 10:27:51 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 13:12:18 * @FilePath: connection.go * @Description: 远程ssh连接 * * Copyright (c) 2023 by duanzt, All Rights Reserved.
|
* @Author: duanzt * @Date: 2023-07-14 10:27:51 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 13:12:18 * @FilePath: connection.go * @Description: 远程ssh连接 * * Copyright (c) 2023 by duanzt, All Rights Reserved. |
* @Author: duanzt * @Date: 2023-07-14 18:21:26 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 13:16:55 * @FilePath: filetools.go * @Description: 文件处理工具 * * Copyright (c) 2023 by duanzt, All Rights Reserved.
|
* @Author: duanzt * @Date: 2023-07-14 18:21:26 * @LastEditors: duanzt * @LastEditTime: 2023-07-17 13:16:55 * @FilePath: filetools.go * @Description: 文件处理工具 * * Copyright (c) 2023 by duanzt, All Rights Reserved. |
Click to show internal directories.
Click to hide internal directories.