first commit

This commit is contained in:
Feng_Qi 2017-06-07 15:48:34 +08:00
commit 9e410eaa21
6 changed files with 545 additions and 0 deletions

104
README.MD Normal file
View file

@ -0,0 +1,104 @@
## multissh
一个简单的并行 SSH 工具,可以批量的对主机通过 SSH 执行命令组合。
#### 编译
```
go get ./...
go build
```
#### 命令体系
```
./multissh -h
-cmd string
cmds // 需要执行的命令组合,多条命令以 分割
-cmdfile string
cmdfile path //需要执行的命令组合文件,文件内命令按行分割
-hostfile string
hostfile path // 需要执行的主机列表文件,主机列表在文件内按行分割
-hosts string
host address list //需要执行的主机列表,多个主机以 ; 分割
-ipfile string
hostfile path //需要执行的主机IP列表文件IP可以以地址段的方式逐行写在文本内
-p string
password // 主机的 SSH 密码
-port int
ssh port (default 22) //主机的 SSH 端口,默认 22
-u string
username //主机的 SSH 用户名
```
**cmdfile 示例**
```
show clock
exit
```
**hostfile 示例**
```
10.10.15.101
10.10.15.102
```
**ipfile 示例**
```
10.10.15.101-10.10.15.102
```
## 用法
#### cmd string & host string
```
./multissh -cmd "show clock;exit" -hosts "10.10.15.101;10.10.15.102" -u admin -p admin
10.10.15.101 ssh start
sw-1#show clock
05:26:40.649 UTC Tue Jun 6 2017
sw-1#exit
10.10.15.101 ssh end
10.10.15.102 ssh start
sw-2#show clock
05:24:38.708 UTC Tue Jun 6 2017
sw-2#exit
10.10.15.102 ssh end
```
#### cmdfile & hostfile
```
./multissh -cmdfile cmd.txt -hostfile host.txt -u admin -p admin
10.10.15.101 ssh start
sw-1#show clock
05:29:43.269 UTC Tue Jun 6 2017
sw-1#exit
10.10.15.101 ssh end
10.10.15.102 ssh start
sw-2#show clock
05:27:41.332 UTC Tue Jun 6 2017
sw-2#exit
10.10.15.102 ssh end
```
#### ipfile
```
./multissh -cmdfile cmd.txt -ipfile ip.txt -u admin -p admin
10.10.15.101 ssh start
sw-1#show clock
05:29:43.269 UTC Tue Jun 6 2017
sw-1#exit
10.10.15.101 ssh end
10.10.15.102 ssh start
sw-2#show clock
05:27:41.332 UTC Tue Jun 6 2017
sw-2#exit
10.10.15.102 ssh end
```