pec2 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +3 -1
- data/exe/bin/pnuke +96 -0
- data/exe/bin/prsync +126 -0
- data/exe/bin/pscp +108 -0
- data/exe/bin/pslurp +129 -0
- data/exe/bin/pssh +118 -0
- data/exe/bin/pssh-askpass +11 -0
- data/exe/man/man1/pnuke.1 +268 -0
- data/exe/man/man1/prsync.1 +299 -0
- data/exe/man/man1/pscp.1 +271 -0
- data/exe/man/man1/pslurp.1 +280 -0
- data/exe/man/man1/pssh.1 +368 -0
- data/exe/psshlib/__init__.py +0 -0
- data/exe/psshlib/askpass_client.py +102 -0
- data/exe/psshlib/askpass_server.py +101 -0
- data/exe/psshlib/cli.py +110 -0
- data/exe/psshlib/color.py +39 -0
- data/exe/psshlib/manager.py +345 -0
- data/exe/psshlib/psshutil.py +108 -0
- data/exe/psshlib/task.py +288 -0
- data/exe/psshlib/version.py +1 -0
- data/lib/pec2/cli.rb +8 -4
- data/lib/pec2/core.rb +1 -1
- data/lib/pec2/version.rb +1 -1
- data/pec2.gemspec +1 -1
- metadata +25 -5
data/exe/man/man1/pscp.1
ADDED
@@ -0,0 +1,271 @@
|
|
1
|
+
.\" Man page for pscp. See "man 7 man" and "man man-pages" for formatting info.
|
2
|
+
.TH pscp 1 "January 24, 2012"
|
3
|
+
|
4
|
+
.SH NAME
|
5
|
+
pscp \(em parallel process kill program
|
6
|
+
|
7
|
+
|
8
|
+
.SH SYNOPSIS
|
9
|
+
.B pscp
|
10
|
+
.RB [ \-vAr ]
|
11
|
+
.RB [ \-h
|
12
|
+
.IR hosts_file ]
|
13
|
+
.RB [ \-H
|
14
|
+
.RI [ user @] host [: port ]]
|
15
|
+
.RB [ \-l
|
16
|
+
.IR user ]
|
17
|
+
.RB [ \-p
|
18
|
+
.IR par ]
|
19
|
+
.RB [ \-o
|
20
|
+
.IR outdir ]
|
21
|
+
.RB [ \-e
|
22
|
+
.IR errdir ]
|
23
|
+
.RB [ \-t
|
24
|
+
.IR timeout ]
|
25
|
+
.RB [ \-O
|
26
|
+
.IR options ]
|
27
|
+
.RB [ \-x
|
28
|
+
.IR args ]
|
29
|
+
.RB [ \-X
|
30
|
+
.IR arg ]
|
31
|
+
.I local
|
32
|
+
.I remote
|
33
|
+
|
34
|
+
|
35
|
+
.SH DESCRIPTION
|
36
|
+
.PP
|
37
|
+
.B pscp
|
38
|
+
is a program for copying files in parallel to a number of hosts. It provides
|
39
|
+
features such as passing a password to scp, saving output to files, and timing
|
40
|
+
out.
|
41
|
+
|
42
|
+
|
43
|
+
.SH OPTIONS
|
44
|
+
|
45
|
+
.TP
|
46
|
+
.BI \-h " host_file"
|
47
|
+
.PD 0
|
48
|
+
.TP
|
49
|
+
.BI \-\-hosts " host_file"
|
50
|
+
Read hosts from the given
|
51
|
+
.IR host_file .
|
52
|
+
Lines in the host file are of the form
|
53
|
+
.RI [ user @] host [: port ]
|
54
|
+
and can include blank lines and comments (lines beginning with "#").
|
55
|
+
If multiple host files are given (the
|
56
|
+
.B \-h
|
57
|
+
option is used more than once), then pscp behaves as though these files
|
58
|
+
were concatenated together.
|
59
|
+
If a host is specified multiple times, then pscp will connect the
|
60
|
+
given number of times.
|
61
|
+
|
62
|
+
.TP
|
63
|
+
.B \-H
|
64
|
+
.RI [ user @] host [: port ]
|
65
|
+
.PD 0
|
66
|
+
.TP
|
67
|
+
.B \-\-host
|
68
|
+
.RI [ user @] host [: port ]
|
69
|
+
.PD 0
|
70
|
+
.TP
|
71
|
+
.B \-H
|
72
|
+
.RI \(dq[ user @] host [: port ]
|
73
|
+
[
|
74
|
+
.RI [ user @] host [: port
|
75
|
+
] ... ]\(dq
|
76
|
+
.PD 0
|
77
|
+
.TP
|
78
|
+
.B \-\-host
|
79
|
+
.RI \(dq[ user @] host [: port ]
|
80
|
+
[
|
81
|
+
.RI [ user @] host [: port
|
82
|
+
] ... ]\(dq
|
83
|
+
.PD 0
|
84
|
+
.IP
|
85
|
+
Add the given host strings to the list of hosts. This option may be given
|
86
|
+
multiple times, and may be used in conjunction with the
|
87
|
+
.B \-h
|
88
|
+
option.
|
89
|
+
|
90
|
+
.TP
|
91
|
+
.BI \-l " user"
|
92
|
+
.PD 0
|
93
|
+
.TP
|
94
|
+
.BI \-\-user " user"
|
95
|
+
Use the given username as the default for any host entries that don't
|
96
|
+
specifically specify a user.
|
97
|
+
|
98
|
+
.TP
|
99
|
+
.BI \-p " parallelism"
|
100
|
+
.PD 0
|
101
|
+
.TP
|
102
|
+
.BI \-\-par " parallelism"
|
103
|
+
Use the given number as the maximum number of concurrent connections.
|
104
|
+
|
105
|
+
.TP
|
106
|
+
.BI \-t " timeout"
|
107
|
+
.PD 0
|
108
|
+
.TP
|
109
|
+
.BI \-\-timeout " timeout"
|
110
|
+
Make connections time out after the given number of seconds. With a value
|
111
|
+
of 0, pscp will not timeout any connections.
|
112
|
+
|
113
|
+
.TP
|
114
|
+
.BI \-o " outdir"
|
115
|
+
.PD 0
|
116
|
+
.TP
|
117
|
+
.BI \-\-outdir " outdir"
|
118
|
+
Save standard output to files in the given directory. Filenames are of the
|
119
|
+
form
|
120
|
+
.RI [ user @] host [: port ][. num ]
|
121
|
+
where the user and port are only included for hosts that explicitly
|
122
|
+
specify them. The number is a counter that is incremented each time for hosts
|
123
|
+
that are specified more than once.
|
124
|
+
|
125
|
+
.TP
|
126
|
+
.BI \-e " errdir"
|
127
|
+
.PD 0
|
128
|
+
.TP
|
129
|
+
.BI \-\-errdir " errdir"
|
130
|
+
Save standard error to files in the given directory. Filenames are of the
|
131
|
+
same form as with the
|
132
|
+
.B \-o
|
133
|
+
option.
|
134
|
+
|
135
|
+
.TP
|
136
|
+
.BI \-x " args"
|
137
|
+
.PD 0
|
138
|
+
.TP
|
139
|
+
.BI \-\-extra-args " args"
|
140
|
+
Passes extra SSH command-line arguments (see the
|
141
|
+
.BR ssh (1)
|
142
|
+
man page for more information about SSH arguments).
|
143
|
+
This option may be specified multiple times.
|
144
|
+
The arguments are processed to split on whitespace, protect text within
|
145
|
+
quotes, and escape with backslashes.
|
146
|
+
To pass arguments without such processing, use the
|
147
|
+
.B \-X
|
148
|
+
option instead.
|
149
|
+
|
150
|
+
.TP
|
151
|
+
.BI \-X " arg"
|
152
|
+
.PD 0
|
153
|
+
.TP
|
154
|
+
.BI \-\-extra-arg " arg"
|
155
|
+
Passes a single SSH command-line argument (see the
|
156
|
+
.BR ssh (1)
|
157
|
+
man page for more information about SSH arguments). Unlike the
|
158
|
+
.B \-x
|
159
|
+
option, no processing is performed on the argument, including word splitting.
|
160
|
+
To pass multiple command-line arguments, use the option once for each
|
161
|
+
argument.
|
162
|
+
|
163
|
+
.TP
|
164
|
+
.BI \-O " options"
|
165
|
+
.PD 0
|
166
|
+
.TP
|
167
|
+
.BI \-\-options " options"
|
168
|
+
SSH options in the format used in the SSH configuration file (see the
|
169
|
+
.BR ssh_config (5)
|
170
|
+
man page for more information). This option may be specified multiple
|
171
|
+
times.
|
172
|
+
|
173
|
+
.TP
|
174
|
+
.B \-A
|
175
|
+
.PD 0
|
176
|
+
.TP
|
177
|
+
.B \-\-askpass
|
178
|
+
Prompt for a password and pass it to ssh. The password may be used for
|
179
|
+
either to unlock a key or for password authentication.
|
180
|
+
The password is transferred in a fairly secure manner (e.g., it will not show
|
181
|
+
up in argument lists). However, be aware that a root user on your system
|
182
|
+
could potentially intercept the password.
|
183
|
+
|
184
|
+
.TP
|
185
|
+
.B \-v
|
186
|
+
.PD 0
|
187
|
+
.TP
|
188
|
+
.B \-\-verbose
|
189
|
+
Include error messages from ssh with the
|
190
|
+
.B \-i
|
191
|
+
and
|
192
|
+
.B \e
|
193
|
+
options.
|
194
|
+
|
195
|
+
.TP
|
196
|
+
.B \-r
|
197
|
+
.PD 0
|
198
|
+
.TP
|
199
|
+
.B \-\-recursive
|
200
|
+
Recursively copy directories.
|
201
|
+
|
202
|
+
|
203
|
+
.\" .SH EXAMPLES
|
204
|
+
|
205
|
+
.\" .PP
|
206
|
+
.\" Connect to host1 and host2, and print "hello, world" from each:
|
207
|
+
.\" .RS
|
208
|
+
.\" pssh -i -H "host1 host2" echo "hello, world"
|
209
|
+
.\" .RE
|
210
|
+
|
211
|
+
|
212
|
+
.SH TIPS
|
213
|
+
|
214
|
+
.\" .PP
|
215
|
+
.\" If you have a set of hosts that you connect to frequently with specific
|
216
|
+
.\" options, it may be helpful to create an alias such as:
|
217
|
+
.\" .RS
|
218
|
+
.\" alias pssh_servers="pssh -h /path/to/server_list.txt -l root -A"
|
219
|
+
.\" .RE
|
220
|
+
|
221
|
+
.PP
|
222
|
+
The ssh_config file can include an arbitrary number of Host sections. Each
|
223
|
+
host entry specifies ssh options which apply only to the given host. Host
|
224
|
+
definitions can even behave like aliases if the HostName option is included.
|
225
|
+
This ssh feature, in combination with pssh host files, provides a tremendous
|
226
|
+
amount of flexibility.
|
227
|
+
|
228
|
+
|
229
|
+
.SH EXIT STATUS
|
230
|
+
|
231
|
+
.PP
|
232
|
+
The exit status codes from pscp are as follows:
|
233
|
+
|
234
|
+
.TP
|
235
|
+
.B 0
|
236
|
+
Success
|
237
|
+
|
238
|
+
.TP
|
239
|
+
.B 1
|
240
|
+
Miscellaneous error
|
241
|
+
|
242
|
+
.TP
|
243
|
+
.B 2
|
244
|
+
Syntax or usage error
|
245
|
+
|
246
|
+
.TP
|
247
|
+
.B 3
|
248
|
+
At least one process was killed by a signal or timed out.
|
249
|
+
|
250
|
+
.TP
|
251
|
+
.B 4
|
252
|
+
All processes completed, but at least one scp process reported an error
|
253
|
+
(exit status other than 0).
|
254
|
+
|
255
|
+
|
256
|
+
.SH AUTHORS
|
257
|
+
.PP
|
258
|
+
Written by
|
259
|
+
Brent N. Chun <bnc@theether.org> and
|
260
|
+
Andrew McNabb <amcnabb@mcnabbs.org>.
|
261
|
+
|
262
|
+
http://code.google.com/p/parallel-ssh/
|
263
|
+
|
264
|
+
|
265
|
+
.SH SEE ALSO
|
266
|
+
.BR ssh (1),
|
267
|
+
.BR ssh_config(5),
|
268
|
+
.BR pssh (1),
|
269
|
+
.BR prsync (1),
|
270
|
+
.BR pslurp (1),
|
271
|
+
.BR pnuke (1),
|
@@ -0,0 +1,280 @@
|
|
1
|
+
.\" Man page for pslurp. See "man 7 man" and "man man-pages" for formatting info.
|
2
|
+
.TH pslurp 1 "January 24, 2012"
|
3
|
+
|
4
|
+
.SH NAME
|
5
|
+
pslurp \(em parallel process kill program
|
6
|
+
|
7
|
+
|
8
|
+
.SH SYNOPSIS
|
9
|
+
.B pslurp
|
10
|
+
.RB [ \-vAr ]
|
11
|
+
.RB [ \-h
|
12
|
+
.IR hosts_file ]
|
13
|
+
.RB [ \-H
|
14
|
+
.RI [ user @] host [: port ]]
|
15
|
+
.RB [ \-l
|
16
|
+
.IR user ]
|
17
|
+
.RB [ \-p
|
18
|
+
.IR par ]
|
19
|
+
.RB [ \-o
|
20
|
+
.IR outdir ]
|
21
|
+
.RB [ \-e
|
22
|
+
.IR errdir ]
|
23
|
+
.RB [ \-t
|
24
|
+
.IR timeout ]
|
25
|
+
.RB [ \-O
|
26
|
+
.IR options ]
|
27
|
+
.RB [ \-x
|
28
|
+
.IR args ]
|
29
|
+
.RB [ \-X
|
30
|
+
.IR arg ]
|
31
|
+
.RB [ \-L
|
32
|
+
.IR localdir ]
|
33
|
+
.I remote
|
34
|
+
.I local
|
35
|
+
|
36
|
+
|
37
|
+
.SH DESCRIPTION
|
38
|
+
.PP
|
39
|
+
.B pslurp
|
40
|
+
is a program for copying files in parallel from a number of hosts. It
|
41
|
+
provides features such as passing a password to scp, saving output to files,
|
42
|
+
and timing out.
|
43
|
+
|
44
|
+
|
45
|
+
.SH OPTIONS
|
46
|
+
|
47
|
+
.TP
|
48
|
+
.BI \-h " host_file"
|
49
|
+
.PD 0
|
50
|
+
.TP
|
51
|
+
.BI \-\-hosts " host_file"
|
52
|
+
Read hosts from the given
|
53
|
+
.IR host_file .
|
54
|
+
Lines in the host file are of the form
|
55
|
+
.RI [ user @] host [: port ]
|
56
|
+
and can include blank lines and comments (lines beginning with "#").
|
57
|
+
If multiple host files are given (the
|
58
|
+
.B \-h
|
59
|
+
option is used more than once), then pslurp behaves as though these files
|
60
|
+
were concatenated together.
|
61
|
+
If a host is specified multiple times, then pslurp will connect the
|
62
|
+
given number of times.
|
63
|
+
|
64
|
+
.TP
|
65
|
+
.B \-H
|
66
|
+
.RI [ user @] host [: port ]
|
67
|
+
.PD 0
|
68
|
+
.TP
|
69
|
+
.B \-\-host
|
70
|
+
.RI [ user @] host [: port ]
|
71
|
+
.PD 0
|
72
|
+
.TP
|
73
|
+
.B \-H
|
74
|
+
.RI \(dq[ user @] host [: port ]
|
75
|
+
[
|
76
|
+
.RI [ user @] host [: port
|
77
|
+
] ... ]\(dq
|
78
|
+
.PD 0
|
79
|
+
.TP
|
80
|
+
.B \-\-host
|
81
|
+
.RI \(dq[ user @] host [: port ]
|
82
|
+
[
|
83
|
+
.RI [ user @] host [: port
|
84
|
+
] ... ]\(dq
|
85
|
+
.PD 0
|
86
|
+
.IP
|
87
|
+
Add the given host strings to the list of hosts. This option may be given
|
88
|
+
multiple times, and may be used in conjunction with the
|
89
|
+
.B \-h
|
90
|
+
option.
|
91
|
+
|
92
|
+
.TP
|
93
|
+
.BI \-l " user"
|
94
|
+
.PD 0
|
95
|
+
.TP
|
96
|
+
.BI \-\-user " user"
|
97
|
+
Use the given username as the default for any host entries that don't
|
98
|
+
specifically specify a user.
|
99
|
+
|
100
|
+
.TP
|
101
|
+
.BI \-p " parallelism"
|
102
|
+
.PD 0
|
103
|
+
.TP
|
104
|
+
.BI \-\-par " parallelism"
|
105
|
+
Use the given number as the maximum number of concurrent connections.
|
106
|
+
|
107
|
+
.TP
|
108
|
+
.BI \-t " timeout"
|
109
|
+
.PD 0
|
110
|
+
.TP
|
111
|
+
.BI \-\-timeout " timeout"
|
112
|
+
Make connections time out after the given number of seconds. With a value
|
113
|
+
of 0, pslurp will not timeout any connections.
|
114
|
+
|
115
|
+
.TP
|
116
|
+
.BI \-o " outdir"
|
117
|
+
.PD 0
|
118
|
+
.TP
|
119
|
+
.BI \-\-outdir " outdir"
|
120
|
+
Save standard output to files in the given directory. Filenames are of the
|
121
|
+
form
|
122
|
+
.RI [ user @] host [: port ][. num ]
|
123
|
+
where the user and port are only included for hosts that explicitly
|
124
|
+
specify them. The number is a counter that is incremented each time for hosts
|
125
|
+
that are specified more than once.
|
126
|
+
|
127
|
+
.TP
|
128
|
+
.BI \-e " errdir"
|
129
|
+
.PD 0
|
130
|
+
.TP
|
131
|
+
.BI \-\-errdir " errdir"
|
132
|
+
Save standard error to files in the given directory. Filenames are of the
|
133
|
+
same form as with the
|
134
|
+
.B \-o
|
135
|
+
option.
|
136
|
+
|
137
|
+
.TP
|
138
|
+
.BI \-x " args"
|
139
|
+
.PD 0
|
140
|
+
.TP
|
141
|
+
.BI \-\-extra-args " args"
|
142
|
+
Passes extra SSH command-line arguments (see the
|
143
|
+
.BR ssh (1)
|
144
|
+
man page for more information about SSH arguments).
|
145
|
+
This option may be specified multiple times.
|
146
|
+
The arguments are processed to split on whitespace, protect text within
|
147
|
+
quotes, and escape with backslashes.
|
148
|
+
To pass arguments without such processing, use the
|
149
|
+
.B \-X
|
150
|
+
option instead.
|
151
|
+
|
152
|
+
.TP
|
153
|
+
.BI \-X " arg"
|
154
|
+
.PD 0
|
155
|
+
.TP
|
156
|
+
.BI \-\-extra-arg " arg"
|
157
|
+
Passes a single SSH command-line argument (see the
|
158
|
+
.BR ssh (1)
|
159
|
+
man page for more information about SSH arguments). Unlike the
|
160
|
+
.B \-x
|
161
|
+
option, no processing is performed on the argument, including word splitting.
|
162
|
+
To pass multiple command-line arguments, use the option once for each
|
163
|
+
argument.
|
164
|
+
|
165
|
+
.TP
|
166
|
+
.BI \-O " options"
|
167
|
+
.PD 0
|
168
|
+
.TP
|
169
|
+
.BI \-\-options " options"
|
170
|
+
SSH options in the format used in the SSH configuration file (see the
|
171
|
+
.BR ssh_config (5)
|
172
|
+
man page for more information). This option may be specified multiple
|
173
|
+
times.
|
174
|
+
|
175
|
+
.TP
|
176
|
+
.B \-A
|
177
|
+
.PD 0
|
178
|
+
.TP
|
179
|
+
.B \-\-askpass
|
180
|
+
Prompt for a password and pass it to ssh. The password may be used for
|
181
|
+
either to unlock a key or for password authentication.
|
182
|
+
The password is transferred in a fairly secure manner (e.g., it will not show
|
183
|
+
up in argument lists). However, be aware that a root user on your system
|
184
|
+
could potentially intercept the password.
|
185
|
+
|
186
|
+
.TP
|
187
|
+
.B \-v
|
188
|
+
.PD 0
|
189
|
+
.TP
|
190
|
+
.B \-\-verbose
|
191
|
+
Include error messages from ssh with the
|
192
|
+
.B \-i
|
193
|
+
and
|
194
|
+
.B \e
|
195
|
+
options.
|
196
|
+
|
197
|
+
.TP
|
198
|
+
.B \-r
|
199
|
+
.PD 0
|
200
|
+
.TP
|
201
|
+
.B \-\-recursive
|
202
|
+
Recursively copy directories.
|
203
|
+
|
204
|
+
.TP
|
205
|
+
.BI \-L " localdir"
|
206
|
+
.PD 0
|
207
|
+
.TP
|
208
|
+
.BI \-\-localdir " localdir"
|
209
|
+
Copy files from the remote host to the given local directory.
|
210
|
+
|
211
|
+
|
212
|
+
.\" .SH EXAMPLES
|
213
|
+
|
214
|
+
.\" .PP
|
215
|
+
.\" Connect to host1 and host2, and print "hello, world" from each:
|
216
|
+
.\" .RS
|
217
|
+
.\" pssh -i -H "host1 host2" echo "hello, world"
|
218
|
+
.\" .RE
|
219
|
+
|
220
|
+
|
221
|
+
.SH TIPS
|
222
|
+
|
223
|
+
.\" .PP
|
224
|
+
.\" If you have a set of hosts that you connect to frequently with specific
|
225
|
+
.\" options, it may be helpful to create an alias such as:
|
226
|
+
.\" .RS
|
227
|
+
.\" alias pssh_servers="pssh -h /path/to/server_list.txt -l root -A"
|
228
|
+
.\" .RE
|
229
|
+
|
230
|
+
.PP
|
231
|
+
The ssh_config file can include an arbitrary number of Host sections. Each
|
232
|
+
host entry specifies ssh options which apply only to the given host. Host
|
233
|
+
definitions can even behave like aliases if the HostName option is included.
|
234
|
+
This ssh feature, in combination with pssh host files, provides a tremendous
|
235
|
+
amount of flexibility.
|
236
|
+
|
237
|
+
|
238
|
+
.SH EXIT STATUS
|
239
|
+
|
240
|
+
.PP
|
241
|
+
The exit status codes from pslurp are as follows:
|
242
|
+
|
243
|
+
.TP
|
244
|
+
.B 0
|
245
|
+
Success
|
246
|
+
|
247
|
+
.TP
|
248
|
+
.B 1
|
249
|
+
Miscellaneous error
|
250
|
+
|
251
|
+
.TP
|
252
|
+
.B 2
|
253
|
+
Syntax or usage error
|
254
|
+
|
255
|
+
.TP
|
256
|
+
.B 3
|
257
|
+
At least one process was killed by a signal or timed out.
|
258
|
+
|
259
|
+
.TP
|
260
|
+
.B 4
|
261
|
+
All processes completed, but at least one scp process reported an error
|
262
|
+
(exit status other than 0).
|
263
|
+
|
264
|
+
|
265
|
+
.SH AUTHORS
|
266
|
+
.PP
|
267
|
+
Written by
|
268
|
+
Brent N. Chun <bnc@theether.org> and
|
269
|
+
Andrew McNabb <amcnabb@mcnabbs.org>.
|
270
|
+
|
271
|
+
http://code.google.com/p/parallel-ssh/
|
272
|
+
|
273
|
+
|
274
|
+
.SH SEE ALSO
|
275
|
+
.BR ssh (1),
|
276
|
+
.BR ssh_config(5),
|
277
|
+
.BR pssh (1),
|
278
|
+
.BR pscp (1),
|
279
|
+
.BR prsync (1),
|
280
|
+
.BR pnuke (1),
|