'\" t .\" Title: onnode .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.75.2 .\" Date: 02/05/2010 .\" Manual: .\" Source: .\" Language: English .\" .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 \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\&. .PP 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\&. .SH "DESCRIPTIVE NODE SPECIFICATIONS" .PP 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 .RS 4 Causes standard output from each node to be saved into a file with name \&.\&. .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 .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 "hostname; tail \-5 /var/log/log\&.ctdb" .fi .if n \{\ .RE .\} .PP The following command would restart the ctdb service on all nodes\&. .sp .if n \{\ .RS 4 .\} .nf onnode all service ctdb restart .fi .if n \{\ .RE .\} .PP 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 \-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), \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\&. 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\&. You should have received a copy of the GNU General Public License along with this program; if not, see http://www\&.gnu\&.org/licenses/\&. .fi .if n \{\ .RE .\}