Manual for nodeshell
- nodeshell(8)
- nodeshell(8)
NAME
nodeshell
- Execute command on many nodes in a noderange through ssh
SYNOPSIS
nodeshell [options] <noderange> <command to execute on each node>
DESCRIPTION
Allows execution of a command on many nodes in parallel. Like noderun(8), it
accepts and interpolates confluent attribute expressions as documented in
nodeattribexpressions(5). nodeshell
provides stdout as stdout and stderr
as stderr, unlike psh which combines all stdout and stderr into stdout.
OPTIONS
-
-c COUNT
,-f COUNT
,--count=COUNT
Specify the maximum number of instances to run concurrently -
-l LOGINNAME
,--loginname=LOGINNAME
Username to use when connecting, defaults to current user. -
-m MAXNODES
,--maxnodes=MAXNODES
Specify a maximum number of nodes to run remote ssh command to, prompting if over the threshold -
-n
,--nonodeprefix
Do not prefix output with node names -
-p PORT
,--port=PORT
Specify a custom port for ssh -
-s SUBSTITUTION
,--substitutename=SUBSTITITUTION
Specify a substitution name instead of the nodename. If no {} are in the substitution, it is considered to be an append. For example, '-s -ib' would produce 'node1-ib' from 'node1'. Full expression syntax is supported, in which case the substitution is considered to be the entire new name. {node}-ib would be equivalent to -ib. For example, nodeshell -s {bmc} node1 would ssh to the BMC instead of the node.
EXAMPLES
- Running
echo hi
on for nodes -
# nodeshell n1-n4 echo hi
n1: hi
n2: hi
n3: hi
n4: hi
- Setting a new static ip address temporarily on secondary interface of four nodes
# nodeshell n1-n4 ifconfig eth1 172.30.93.{n1}
- If wanting to use literal {} in the command, they must be escaped by doubling
# nodeshell n1-n4 "ps | awk ''"
SEE ALSO
- October 2023
- nodeshell(8)