multiSSH3 4.75__tar.gz → 4.81__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of multiSSH3 might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: multiSSH3
3
- Version: 4.75
3
+ Version: 4.81
4
4
  Summary: Run commands on multiple hosts via SSH
5
5
  Home-page: https://github.com/yufei-pan/multiSSH3
6
6
  Author: Yufei Pan
@@ -19,6 +19,45 @@ A script that is able to issue commands to multiple hosts while monitoring their
19
19
  Can be used in bash scripts for automation actions.
20
20
  Also able to be imported and / or use with Flexec SSH Backend to perform cluster automation actions.
21
21
 
22
+ Install via
23
+ ```
24
+ pip install multiSSH3
25
+ ```
26
+
27
+ multiSSH3 will be available as
28
+ ```
29
+ mssh
30
+ mssh3
31
+ multissh
32
+ multissh3
33
+ multiSSH3
34
+ ```
35
+
36
+ multissh will read a config file located at ```/etc/multiSSH3.config.json```
37
+
38
+ To store / generate a config file with the current command line options, you can use
39
+
40
+ ```
41
+ mssh --generate_default_config_file
42
+ ```
43
+
44
+ You can modify the json file directly after generation and multissh will read from it for loading defaults.
45
+
46
+ Note:
47
+
48
+ If you want to store password, it will be a plain text password in this config file. This will be better to supply it everytime as a CLI argument but you should really consider setting up priv-pub key setup.
49
+
50
+ This option can also be used to store cli options into the config files. For example.
51
+
52
+ ```
53
+ mssh --ipmi_interface_ip_prefix 192 --generate_default_config_file
54
+ ```
55
+ will store
56
+ ```
57
+ "DEFAULT_IPMI_INTERFACE_IP_PREFIX": "192"
58
+ ```
59
+ into the json file.
60
+
22
61
  By defualt reads bash env variables for hostname aliases. Also able to read
23
62
  ```
24
63
  DEFAULT_ENV_FILE = '/etc/profile.d/hosts.sh'
@@ -28,20 +67,20 @@ as hostname aliases.
28
67
  For example:
29
68
  ```
30
69
  export all='192.168.1-2.1-64'
31
- multiSSH3.py all 'echo hi'
70
+ mssh all 'echo hi'
32
71
  ```
33
72
 
34
73
  It is also able to recognize ip blocks / number blocks / hex blocks / character blocks directly.
35
74
 
36
75
  For example:
37
76
  ```
38
- multiSSH3.py testrig[1-10] lsblk
39
- multiSSH3.py ww[a-c],10.100.0.* 'cat /etc/fstab' 'sed -i "/lustre/d' /etc/fstab' 'cat /etc/fstab'
77
+ mssh testrig[1-10] lsblk
78
+ mssh ww[a-c],10.100.0.* 'cat /etc/fstab' 'sed -i "/lustre/d' /etc/fstab' 'cat /etc/fstab'
40
79
  ```
41
80
 
42
81
  It also supports interactive inputs. ( and able to async boardcast to all supplied hosts )
43
82
  ```
44
- multiSSH3.py www bash
83
+ mssh www bash
45
84
  ```
46
85
 
47
86
  By default, it will try to fit everything inside your window.
@@ -52,7 +91,7 @@ DEFAULT_CURSES_MINIMUM_LINE_LEN = 1
52
91
  While leaving minimum 40 characters / 1 line for each host display by default. You can modify this by using -ww and -wh.
53
92
 
54
93
 
55
- Use ```multiSSH3.py --help``` for more info.
94
+ Use ```mssh --help``` for more info.
56
95
 
57
96
  ```
58
97
  usage: mssh [-h] [-u USERNAME] [-ea EXTRAARGS] [-p PASSWORD] [-11] [-f FILE] [--file_sync] [--scp] [-t TIMEOUT] [-r REPEAT] [-i INTERVAL] [--ipmi]
@@ -121,23 +160,26 @@ Following document is generated courtesy of Mr.ChatGPT-o1 Preview:
121
160
 
122
161
  ## Table of Contents
123
162
 
124
- - [Features](#features)
125
- - [Installation](#installation)
126
- - [Usage](#usage)
127
- - [Basic Syntax](#basic-syntax)
128
- - [Command-Line Options](#command-line-options)
129
- - [Examples](#examples)
130
- - [Running a Command on Multiple Hosts](#running-a-command-on-multiple-hosts)
131
- - [Copying Files to Multiple Hosts](#copying-files-to-multiple-hosts)
132
- - [Using Hostname Ranges](#using-hostname-ranges)
133
- - [Using IPMI](#using-ipmi)
134
- - [Using Password Authentication](#using-password-authentication)
135
- - [Skipping Unreachable Hosts](#skipping-unreachable-hosts)
136
- - [JSON Output](#json-output)
137
- - [Quiet Mode](#quiet-mode)
138
- - [Environment Variables](#environment-variables)
139
- - [Notes](#notes)
140
- - [License](#license)
163
+ - [multiSSH3](#multissh3)
164
+ - [multissh](#multissh)
165
+ - [Table of Contents](#table-of-contents)
166
+ - [Features](#features)
167
+ - [Installation](#installation)
168
+ - [Usage](#usage)
169
+ - [Basic Syntax](#basic-syntax)
170
+ - [Command-Line Options](#command-line-options)
171
+ - [Examples](#examples)
172
+ - [Running a Command on Multiple Hosts](#running-a-command-on-multiple-hosts)
173
+ - [Copying Files to Multiple Hosts](#copying-files-to-multiple-hosts)
174
+ - [Using Hostname Ranges](#using-hostname-ranges)
175
+ - [Using IPMI](#using-ipmi)
176
+ - [Using Password Authentication](#using-password-authentication)
177
+ - [Skipping Unreachable Hosts](#skipping-unreachable-hosts)
178
+ - [JSON Output](#json-output)
179
+ - [Quiet Mode](#quiet-mode)
180
+ - [Environment Variables](#environment-variables)
181
+ - [Notes](#notes)
182
+ - [License](#license)
141
183
 
142
184
  ## Features
143
185