mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			114 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| =head1 Name
 | |
| 
 | |
| psh - parallel remote shell
 | |
| 
 | |
| =head1 B<Synopsis>
 | |
| 
 | |
| B<psh> [B<-i> I<interface>] [B<-f> I<fanout>] [B<-l> I<user>] I<noderange> I<command>
 | |
| 
 | |
| B<psh> {B<-h>|B<--help>|B<-v>|B<--version>}
 | |
| 
 | |
| =head1 B<Description>
 | |
| 
 | |
| B<psh> is a utility used to run a command across a list of nodes in parallel.
 | |
| 
 | |
| B<ssh> must be set up to allow no prompting for B<psh> to work.
 | |
| 
 | |
| Note:
 | |
| 
 | |
| This command does not run through xcatd like most xCAT commands do.
 | |
| This means you must either run it on the management node, or have a network connection between
 | |
| your machine and the nodes. It does not support hierarchy, use xdsh to run remote command from the
 | |
| management node to the compute node via a service node. 
 | |
| 
 | |
| B<psh> arguments need to precede noderange, otherwise, you will get unexpected errors.
 | |
| 
 | |
| =head1 B<Options>
 | |
| 
 | |
| =over 7
 | |
| 
 | |
| =item B<-i> I<interface>
 | |
| 
 | |
| The NIC on the node that psh should communicate with.  For example, if I<interface> is B<eth1>,
 | |
| then psh will concatenate B<-eth1> to the end of every node name before ssh'ing to it.  This
 | |
| assumes those host names have been set up to resolve to the IP address of each of the eth1 NICs.
 | |
| 
 | |
| =item B<-f> I<fanout>
 | |
| 
 | |
| Specifies a fanout value for the maximum number of  concur-
 | |
| rently  executing  remote shell processes. 
 | |
| 
 | |
| =item B<-l> I<user>
 | |
| 
 | |
| Log into the nodes as the specified username.  The default is to use the same username as you
 | |
| are running the psh command as.
 | |
| 
 | |
| =item B<-n|--nonodecheck>
 | |
| 
 | |
| Do not send the noderange to xcatd to expand it into a list of nodes.  Instead, use the noderange exactly as it is specified.
 | |
| In this case, the noderange must be a simple list of comma-separated hostnames of the nodes.
 | |
| This allows you to run B<psh> even when xcatd is not running.
 | |
| 
 | |
| =item B<noderange>
 | |
| 
 | |
| See L<noderange(3)|noderange.3>.
 | |
| 
 | |
| =item B<command>
 | |
| 
 | |
| Command  to  be run in parallel.  If no command is give then B<psh>
 | |
| enters interactive mode.  In interactive mode a  ">"  prompt  is
 | |
| displayed.   Any  command entered is executed in parallel to the
 | |
| nodes in the noderange. Use "exit" or "Ctrl-D" to end the interactive session.
 | |
| 
 | |
| =item B<-h>|B<--help>
 | |
| 
 | |
| Print help.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 B<Environment> B<Variables>
 | |
| 
 | |
| =over 4
 | |
| 
 | |
| =item B<XCATPSHFANOUT>
 | |
| 
 | |
| Specifies  the fanout value. This variable is overridden by
 | |
| the B<-f> flag.  Default is 64.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 B<Examples>
 | |
| 
 | |
| =over 3
 | |
| 
 | |
| =item *
 | |
| 
 | |
| Run uptime on 3 nodes:
 | |
| 
 | |
| B<psh> I<node4-node6> I<uptime>
 | |
| 
 | |
| node4: Sun Aug  5 17:42:06 MDT 2001
 | |
| node5: Sun Aug  5 17:42:06 MDT 2001
 | |
| node6: Sun Aug  5 17:42:06 MDT 2001
 | |
| 
 | |
| =item *
 | |
| 
 | |
| Run a command on some BladeCenter management modules:
 | |
| 
 | |
| B<psh> I<amm1-amm5> I<'info -T mm[1]'>
 | |
| 
 | |
| =item *
 | |
| 
 | |
| Remove the tmp files on the nodes in the 1st frame:
 | |
| 
 | |
| B<psh> I<rack01> I<'rm -f /tmp/*'>
 | |
| 
 | |
| Notice the use of '' to forward shell expansion.  This is not necessary
 | |
| in interactive mode.
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 B<See> B<Also>
 | |
| 
 | |
| L<noderange(3)|noderange.3>, L<pscp(1)|pscp.1>, L<pping(1)|pping.1>, L<prsync(1)|prsync.1>
 |