Revert "Add a new header flag for "migrated with data" and set this to 1"
[sahlberg/ctdb.git] / doc / onnode.1
index 926df4d14558c2cbe6af7a382f3b0d9aa72a8d16..055a82e089ce73f45cb3d95ba3e6d6d3bad7d519 100644 (file)
+'\" t
 .\"     Title: onnode
-.\"    Author: 
-.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
-.\"      Date: 07/10/2007
-.\"    Manual: 
-.\"    Source: 
+.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
+.\"      Date: 02/05/2010
+.\"    Manual:  
+.\"    Source:  
+.\"  Language: English
 .\"
-.TH "ONNODE" "1" "07/10/2007" "" ""
+.TH "ONNODE" "1" "02/05/2010" "" ""
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 .ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
 .SH "NAME"
 onnode \- run commands on ctdb nodes
 .SH "SYNOPSIS"
-.HP 24
-\fBonnode NODE COMMAND ...\fR
+.HP \w'\fBonnode\ [OPTION]\ \&.\&.\&.\ NODES\ COMMAND\ \&.\&.\&.\fR\ 'u
+\fBonnode [OPTION] \&.\&.\&. NODES COMMAND \&.\&.\&.\fR
 .SH "DESCRIPTION"
 .PP
-onnode is a utility to run commands on a specific node of a CTDB cluster, or on all nodes.
+onnode is a utility to run commands on a specific node of a CTDB cluster, or on all nodes\&.
 .PP
-The NODE option specifies which node to run a command on. You can specify a numeric node number (from 0 to N\-1) or the special node 'all'.
+The NODES option specifies which node to run a command on\&. You can specify a numeric node number (from 0 to N\-1) or a descriptive node specification (see DESCRIPTIVE NODE SPECIFICATIONS below)\&. You can also specify lists of nodes, separated by commas, and ranges of numeric node numbers, separated by dashes\&. If nodes are specified multiple times then the command will be executed multiple times on those nodes\&. The order of nodes is significant\&.
 .PP
-The COMMAND can be any shell command. The onnode utility uses ssh or rsh to connect to the remote nodes and run the command.
+The COMMAND can be any shell command\&. The onnode utility uses ssh or rsh to connect to the remote nodes and run the command\&.
+.SH "DESCRIPTIVE NODE SPECIFICATIONS"
 .PP
-If the COMMAND starts with a /, then the command is run via the 'at' service. Otherwise the command is run in the foreground.
+The following descriptive node specification can be used in place of numeric node numbers:
+.PP
+all
+.RS 4
+All nodes\&.
+.RE
+.PP
+any
+.RS 4
+A node where ctdbd is running\&. This semi\-random but there is a bias towards choosing a low numbered node\&.
+.RE
+.PP
+ok | healthy
+.RS 4
+All nodes that are not disconnected, banned, disabled or unhealthy\&.
+.RE
+.PP
+con | connected
+.RS 4
+All nodes that are not disconnected\&.
+.RE
+.PP
+lvs | lvsmaster
+.RS 4
+The current LVS master\&.
+.RE
+.PP
+natgw | natgwlist
+.RS 4
+The current NAT gateway\&.
+.RE
+.PP
+rm | recmaster
+.RS 4
+The current recovery master\&.
+.RE
+.SH "OPTIONS"
+.PP
+\-c
+.RS 4
+Execute COMMAND in the current working directory on the specified nodes\&.
+.RE
+.PP
+\-o <prefix>
+.RS 4
+Causes standard output from each node to be saved into a file with name <prefix>\&.<ip>\&.
+.RE
+.PP
+\-p
+.RS 4
+Run COMMAND in parallel on the specified nodes\&. The default is to run COMMAND sequentially on each node\&.
+.RE
+.PP
+\-q
+.RS 4
+Do not print node addresses\&. Normally, onnode prints informational node addresses if more than one node is specified\&. This overrides \-v\&.
+.RE
+.PP
+\-n
+.RS 4
+Allow nodes to be specified by name rather than node numbers\&. These nodes don\'t need to be listed in the nodes file\&. You can avoid the nodes file entirely by combining this with
+\-f /dev/null\&.
+.RE
+.PP
+\-f <file>
+.RS 4
+Specify an alternative nodes file to use instead of the default\&. This option overrides the CTDB_NODES_FILE environment variable\&. See the discussion of
+/etc/ctdb/nodes
+in the FILES section for more details\&.
+.RE
+.PP
+\-v
+.RS 4
+Print a node addresses even if only one node is specified\&. Normally, onnode prints informational node addresses when more than one node is specified\&.
+.RE
+.PP
+\-h, \-\-help
+.RS 4
+Show a short usage guide\&.
+.RE
 .SH "EXAMPLES"
 .PP
 The following command would show the process ID of ctdb on all nodes
 .sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      onnode all pidof ctdbd
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+The following command would show the last 5 lines of log on each node, preceded by the node\'s hostname
+.sp
+.if n \{\
 .RS 4
+.\}
 .nf
-onnode all pidof ctdbd
-      
+      onnode all "hostname; tail \-5 /var/log/log\&.ctdb"
+    
 .fi
+.if n \{\
 .RE
+.\}
 .PP
-The following command would show the last 5 lines of log on each node, preceded by the nodes hostname
+The following command would restart the ctdb service on all nodes\&.
 .sp
+.if n \{\
 .RS 4
+.\}
 .nf
-onnode all "hostname; tail \-5 /var/log/log.ctdb"
-      
+      onnode all service ctdb restart
+    
 .fi
+.if n \{\
 .RE
+.\}
 .PP
-The following command would restart the ctdb service on all nodes.
+The following command would run \&./foo in the current working directory, in parallel, on nodes 0, 2, 3 and 4\&.
 .sp
+.if n \{\
 .RS 4
+.\}
 .nf
-onnode all service ctdb restart
-      
+      onnode \-c \-p 0,2\-4 \&./foo
+    
 .fi
+.if n \{\
+.RE
+.\}
+.SH "ENVIRONMENT"
+.PP
+\fBCTDB_NODES_FILE\fR
+.RS 4
+Name of alternative nodes file to use instead of the default\&. See the discussion of
+/etc/ctdb/nodes
+in the FILES section for more details\&.
+.RE
+.SH "FILES"
+.PP
+/etc/ctdb/nodes
+.RS 4
+Default file containing a list of each node\'s IP address or hostname\&.
+.sp
+Actually, the default is
+$\fBCTDB_BASE\fR/nodes, where
+\fB$CTDB_BASE\fR
+defaults to
+/etc/ctdb\&. If a relative path is given (via the \-f option or
+\fB$CTDB_BASE\fR) and no corresponding file exists relative to the current directory then the file is also searched for in the
+$\fBCTDB_BASE\fR
+directory\&.
+.RE
+.PP
+/etc/ctdb/onnode\&.conf
+.RS 4
+If this file exists it is sourced by onnode\&. The main purpose is to allow the administrator to set $SSH to something other than "ssh"\&. In this case the \-t option is ignored\&. For example, the administrator may choose to use use rsh instead of ssh\&.
 .RE
 .SH "SEE ALSO"
 .PP
 ctdbd(1), ctdb(1),
-\fI\%http://ctdb.samba.org/\fR
+\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
 .SH "COPYRIGHT/LICENSE"
 .sp
+.if n \{\
 .RS 4
+.\}
 .nf
 Copyright (C) Andrew Tridgell 2007
 Copyright (C) Ronnie sahlberg 2007
+Copyright (C) Martin Schwenke 2008
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 3 of the License, or (at
-your option) any later version.
+your option) any later version\&.
 
 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&.  See the GNU
+General Public License for more details\&.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, see http://www.gnu.org/licenses/.
+along with this program; if not, see http://www\&.gnu\&.org/licenses/\&.
 .fi
+.if n \{\
 .RE
+.\}