New version 1.2.16
[sahlberg/ctdb.git] / doc / onnode.1
1 '\" t
2 .\"     Title: onnode
3 .\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
4 .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
5 .\"      Date: 02/05/2010
6 .\"    Manual:  
7 .\"    Source:  
8 .\"  Language: English
9 .\"
10 .TH "ONNODE" "1" "02/05/2010" "" ""
11 .\" -----------------------------------------------------------------
12 .\" * set default formatting
13 .\" -----------------------------------------------------------------
14 .\" disable hyphenation
15 .nh
16 .\" disable justification (adjust text to left margin only)
17 .ad l
18 .\" -----------------------------------------------------------------
19 .\" * MAIN CONTENT STARTS HERE *
20 .\" -----------------------------------------------------------------
21 .SH "NAME"
22 onnode \- run commands on ctdb nodes
23 .SH "SYNOPSIS"
24 .HP \w'\fBonnode\ [OPTION]\ \&.\&.\&.\ NODES\ COMMAND\ \&.\&.\&.\fR\ 'u
25 \fBonnode [OPTION] \&.\&.\&. NODES COMMAND \&.\&.\&.\fR
26 .SH "DESCRIPTION"
27 .PP
28 onnode is a utility to run commands on a specific node of a CTDB cluster, or on all nodes\&.
29 .PP
30 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\&.
31 .PP
32 The COMMAND can be any shell command\&. The onnode utility uses ssh or rsh to connect to the remote nodes and run the command\&.
33 .SH "DESCRIPTIVE NODE SPECIFICATIONS"
34 .PP
35 The following descriptive node specification can be used in place of numeric node numbers:
36 .PP
37 all
38 .RS 4
39 All nodes\&.
40 .RE
41 .PP
42 any
43 .RS 4
44 A node where ctdbd is running\&. This semi\-random but there is a bias towards choosing a low numbered node\&.
45 .RE
46 .PP
47 ok | healthy
48 .RS 4
49 All nodes that are not disconnected, banned, disabled or unhealthy\&.
50 .RE
51 .PP
52 con | connected
53 .RS 4
54 All nodes that are not disconnected\&.
55 .RE
56 .PP
57 lvs | lvsmaster
58 .RS 4
59 The current LVS master\&.
60 .RE
61 .PP
62 natgw | natgwlist
63 .RS 4
64 The current NAT gateway\&.
65 .RE
66 .PP
67 rm | recmaster
68 .RS 4
69 The current recovery master\&.
70 .RE
71 .SH "OPTIONS"
72 .PP
73 \-c
74 .RS 4
75 Execute COMMAND in the current working directory on the specified nodes\&.
76 .RE
77 .PP
78 \-o <prefix>
79 .RS 4
80 Causes standard output from each node to be saved into a file with name <prefix>\&.<ip>\&.
81 .RE
82 .PP
83 \-p
84 .RS 4
85 Run COMMAND in parallel on the specified nodes\&. The default is to run COMMAND sequentially on each node\&.
86 .RE
87 .PP
88 \-q
89 .RS 4
90 Do not print node addresses\&. Normally, onnode prints informational node addresses if more than one node is specified\&. This overrides \-v\&.
91 .RE
92 .PP
93 \-n
94 .RS 4
95 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
96 \-f /dev/null\&.
97 .RE
98 .PP
99 \-f <file>
100 .RS 4
101 Specify an alternative nodes file to use instead of the default\&. This option overrides the CTDB_NODES_FILE environment variable\&. See the discussion of
102 /etc/ctdb/nodes
103 in the FILES section for more details\&.
104 .RE
105 .PP
106 \-v
107 .RS 4
108 Print a node addresses even if only one node is specified\&. Normally, onnode prints informational node addresses when more than one node is specified\&.
109 .RE
110 .PP
111 \-h, \-\-help
112 .RS 4
113 Show a short usage guide\&.
114 .RE
115 .SH "EXAMPLES"
116 .PP
117 The following command would show the process ID of ctdb on all nodes
118 .sp
119 .if n \{\
120 .RS 4
121 .\}
122 .nf
123       onnode all pidof ctdbd
124     
125 .fi
126 .if n \{\
127 .RE
128 .\}
129 .PP
130 The following command would show the last 5 lines of log on each node, preceded by the node\'s hostname
131 .sp
132 .if n \{\
133 .RS 4
134 .\}
135 .nf
136       onnode all "hostname; tail \-5 /var/log/log\&.ctdb"
137     
138 .fi
139 .if n \{\
140 .RE
141 .\}
142 .PP
143 The following command would restart the ctdb service on all nodes\&.
144 .sp
145 .if n \{\
146 .RS 4
147 .\}
148 .nf
149       onnode all service ctdb restart
150     
151 .fi
152 .if n \{\
153 .RE
154 .\}
155 .PP
156 The following command would run \&./foo in the current working directory, in parallel, on nodes 0, 2, 3 and 4\&.
157 .sp
158 .if n \{\
159 .RS 4
160 .\}
161 .nf
162       onnode \-c \-p 0,2\-4 \&./foo
163     
164 .fi
165 .if n \{\
166 .RE
167 .\}
168 .SH "ENVIRONMENT"
169 .PP
170 \fBCTDB_NODES_FILE\fR
171 .RS 4
172 Name of alternative nodes file to use instead of the default\&. See the discussion of
173 /etc/ctdb/nodes
174 in the FILES section for more details\&.
175 .RE
176 .SH "FILES"
177 .PP
178 /etc/ctdb/nodes
179 .RS 4
180 Default file containing a list of each node\'s IP address or hostname\&.
181 .sp
182 Actually, the default is
183 $\fBCTDB_BASE\fR/nodes, where
184 \fB$CTDB_BASE\fR
185 defaults to
186 /etc/ctdb\&. If a relative path is given (via the \-f option or
187 \fB$CTDB_BASE\fR) and no corresponding file exists relative to the current directory then the file is also searched for in the
188 $\fBCTDB_BASE\fR
189 directory\&.
190 .RE
191 .PP
192 /etc/ctdb/onnode\&.conf
193 .RS 4
194 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\&.
195 .RE
196 .SH "SEE ALSO"
197 .PP
198 ctdbd(1), ctdb(1),
199 \m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
200 .SH "COPYRIGHT/LICENSE"
201 .sp
202 .if n \{\
203 .RS 4
204 .\}
205 .nf
206 Copyright (C) Andrew Tridgell 2007
207 Copyright (C) Ronnie sahlberg 2007
208 Copyright (C) Martin Schwenke 2008
209
210 This program is free software; you can redistribute it and/or modify
211 it under the terms of the GNU General Public License as published by
212 the Free Software Foundation; either version 3 of the License, or (at
213 your option) any later version\&.
214
215 This program is distributed in the hope that it will be useful, but
216 WITHOUT ANY WARRANTY; without even the implied warranty of
217 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&.  See the GNU
218 General Public License for more details\&.
219
220 You should have received a copy of the GNU General Public License
221 along with this program; if not, see http://www\&.gnu\&.org/licenses/\&.
222 .fi
223 .if n \{\
224 .RE
225 .\}