internal

package
v0.0.0-...-de718b2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2023 License: MIT Imports: 3 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL