1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
|
.\" Man page generated from reStructuredText.
.
.TH "MONGOOPLOG" "1" "October 03, 2013" "2.4" "mongodb-manual"
.SH NAME
mongooplog \- MongoDB
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
New in version 2.2.
.SH SYNOPSIS
.sp
\fBmongooplog\fP is a simple tool that polls operations from
the \fIreplication\fP \fIoplog\fP of a remote server, and applies
them to the local server. This capability supports certain classes of
real\-time migrations that require that the source server remain online
and in operation throughout the migration process.
.sp
Typically this command will take the following form:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
mongooplog \-\-from mongodb0.example.net \-\-host mongodb1.example.net
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
This command copies oplog entries from the \fBmongod\fP instance
running on the host \fBmongodb0.example.net\fP and duplicates
operations to the host \fBmongodb1.example.net\fP\&. If you do not need
to keep the \fI\-\-from\fP host running during
the migration, consider using \fBmongodump\fP and
\fBmongorestore\fP or another \fBbackup\fP operation, which may be better suited to
your operation.
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
If the \fBmongod\fP instance specified by the \fI\-\-from\fP
argument is running with \fBauthentication\fP, then
\fBmongooplog\fP will not be able to copy oplog entries.
.UNINDENT
.UNINDENT
.sp
\fBSEE ALSO:\fP
.INDENT 0.0
.INDENT 3.5
\fBmongodump\fP, \fBmongorestore\fP,
http://docs.mongodb.org/manual/core/backups, http://docs.mongodb.org/manual/core/replica\-set\-oplog\&.
.UNINDENT
.UNINDENT
.SH OPTIONS
.INDENT 0.0
.TP
.B mongooplog
.UNINDENT
.INDENT 0.0
.TP
.B mongooplog
.UNINDENT
.INDENT 0.0
.TP
.B \-\-help
Returns a basic help and usage text.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-verbose, \-v
Increases the amount of internal reporting returned on the command
line. Increase the verbosity with the \fB\-v\fP form by including the
option multiple times, (e.g. \fB\-vvvvv\fP\&.)
.UNINDENT
.INDENT 0.0
.TP
.B \-\-version
Returns the version of the \fBmongooplog\fP utility.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-host <hostname><:port>, \-h
Specifies a resolvable hostname for the \fBmongod\fP instance
to which \fBmongooplog\fP will apply \fIoplog\fP operations
retrieved from the serve specified by the \fI\-\-from\fP
option.
.sp
\fBmongooplog\fP assumes that all target \fBmongod\fP
instances are accessible by way of port \fB27017\fP\&. You may,
optionally, declare an alternate port number as part of the
hostname argument.
.sp
You can always connect directly to a single \fBmongod\fP
instance by specifying the host and port number directly.
.sp
To connect to a replica set, you can specify the replica set seed
name, and a seed list of set members, in the following format:
.INDENT 7.0
.INDENT 3.5
.sp
.nf
.ft C
<replica_set_name>/<hostname1><:port>,<hostname2:<port>,...
.ft P
.fi
.UNINDENT
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-\-port
Specifies the port number of the \fBmongod\fP instance where
\fBmongooplog\fP will apply \fIoplog\fP entries. Only
specify this option if the MongoDB instance that you wish to
connect to is not running on the standard port. (i.e. \fB27017\fP)
You may also specify a port number using the \fI\-\-host\fP command.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-ipv6
Enables IPv6 support that allows \fBmongooplog\fP to connect
to the MongoDB instance using an IPv6 network. All MongoDB programs
and processes, including \fBmongooplog\fP, disable IPv6
support by default.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-ssl
New in version 2.4: MongoDB added support for SSL connections to \fBmongod\fP
instances in mongooplog\&.
.sp
\fBNOTE:\fP
.INDENT 7.0
.INDENT 3.5
SSL support in mongooplog is not compiled into the default
distribution of MongoDB. See
http://docs.mongodb.org/manual/tutorial/configure\-ssl for more information on SSL
and MongoDB.
.sp
Additionally, mongooplog does not support connections to
\fBmongod\fP instances that require client certificate
validation.
.UNINDENT
.UNINDENT
.sp
Allows \fBmongooplog\fP to connect to \fBmongod\fP
instance over an SSL connection.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-username <username>, \-u <username>
Specifies a username to authenticate to the MongoDB instance, if
your database requires authentication. Use in conjunction with the
\fI\-\-password\fP option to supply a
password.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-password <password>, \-p <password>
Specifies a password to authenticate to the MongoDB instance. Use
in conjunction with the \fI\-\-username\fP
option to supply a username.
.sp
If you specify a \fI\-\-username\fP and
do not pass an argument to \fI\-\-password\fP,
\fBmongooplog\fP will prompt for a password interactively. If
you do not specify a password on the command line,
\fI\-\-password\fP must be the last option.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-authenticationDatabase <dbname>
New in version 2.4.
.sp
Specifies the database that holds the user\(aqs (e.g
\fI\-\-username\fP) credentials.
.sp
By default, \fBmongooplog\fP assumes that the database specified to the
\fI\-\-db\fP argument holds the user\(aqs credentials, unless you
specify \fI\-\-authenticationDatabase\fP\&.
.sp
See \fBuserSource\fP,
http://docs.mongodb.org/manual/reference/privilege\-documents and
http://docs.mongodb.org/manual/reference/user\-privileges for more information about
delegated authentication in MongoDB.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-authenticationMechanism <name>
New in version 2.4.
.sp
Specifies the authentication mechanism. By default, the
authentication mechanism is \fBMONGODB\-CR\fP, which is the MongoDB
challenge/response authentication mechanism. In MongoDB Enterprise,
\fBmongooplog\fP also includes support for \fBGSSAPI\fP to handle
Kerberos authentication.
.sp
See http://docs.mongodb.org/manual/tutorial/control\-access\-to\-mongodb\-with\-kerberos\-authentication
for more information about Kerberos authentication.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-dbpath <path>
Specifies a directory, containing MongoDB data files, to which
\fBmongooplog\fP will apply operations from the \fIoplog\fP
of the database specified with the \fI\-\-from\fP
option. When used, the \fI\-\-dbpath\fP option enables
\fBmongo\fP to attach directly to local data files and write
data without a running \fBmongod\fP instance. To run with
\fI\-\-dbpath\fP, \fBmongooplog\fP needs to restrict access
to the data directory: as a result, no \fBmongod\fP can be
access the same path while the process runs.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-directoryperdb
Use the \fI\-\-directoryperdb\fP in conjunction with the
corresponding option to \fBmongod\fP\&. This option allows
\fBmongooplog\fP to write to data files organized with each
database located in a distinct directory. This option is only
relevant when specifying the \fI\-\-dbpath\fP option.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-journal
Allows \fBmongooplog\fP operations to use the durability
\fIjournal\fP to ensure that the data files will
remain in a consistent state during the writing process. This
option is only relevant when specifying the \fI\-\-dbpath\fP
option.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-seconds <number>, \-s <number>
Specify a number of seconds of operations for \fBmongooplog\fP
to pull from the \fIremote host\fP\&. Unless
specified the default value is \fB86400\fP seconds, or 24 hours.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-from <host[:port]>
Specify the host for \fBmongooplog\fP to retrieve \fIoplog\fP
operations from. \fBmongooplog\fP \fIrequires\fP this
option.
.sp
Unless you specify the \fI\-\-host\fP option,
\fBmongooplog\fP will apply the operations collected with this
option to the oplog of the \fBmongod\fP instance running on
the localhost interface connected to port \fB27017\fP\&.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-oplogns <namespace>
Specify a namespace in the \fI\-\-from\fP
host where the oplog resides. The default value is
\fBlocal.oplog.rs\fP, which is the where \fIreplica set\fP members
store their operation log. However, if you\(aqve copied \fIoplog\fP
entries into another database or collection, use this option to
copy oplog entries stored in another location.
.sp
\fINamespaces\fP take the form of
\fB[database].[collection]\fP\&.
.UNINDENT
.SS Usage
.sp
Consider the following prototype \fBmongooplog\fP command:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
mongooplog \-\-from mongodb0.example.net \-\-host mongodb1.example.net
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Here, entries from the \fIoplog\fP of the \fBmongod\fP running
on port \fB27017\fP\&. This only pull entries from the last 24 hours.
.sp
Use the \fI\-\-seconds\fP argument to capture
a greater or smaller amount of time. Consider the following example:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
mongooplog \-\-from mongodb0.example.net \-\-seconds 172800
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
In this operation, \fBmongooplog\fP captures 2 full days of
operations. To migrate 12 hours of \fIoplog\fP entries, use the
following form:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
mongooplog \-\-from mongodb0.example.net \-\-seconds 43200
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
For the previous two examples, \fBmongooplog\fP migrates entries
to the \fBmongod\fP process running on the localhost interface
connected to the \fB27017\fP port. \fBmongooplog\fP can also
operate directly on MongoDB\(aqs data files if no \fBmongod\fP is
running on the \fItarget\fP host. Consider the following example:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
mongooplog \-\-from mongodb0.example.net \-\-dbpath /srv/mongodb \-\-journal
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Here, \fBmongooplog\fP imports \fIoplog\fP operations from the
\fBmongod\fP host connected to port \fB27017\fP\&. This migrates
operations to the MongoDB data files stored in the \fB/srv/mongodb\fP
directory. Additionally \fBmongooplog\fP will use the durability
\fIjournal\fP to ensure that the data files remain in a consistent
state.
.SH AUTHOR
MongoDB Documentation Project
.SH COPYRIGHT
2011-2013, MongoDB, Inc.
.\" Generated by docutils manpage writer.
.
|