From 6e251eb24fa2ba5a82c8f389de5edc1fcbacf37f Mon Sep 17 00:00:00 2001
From: Mark Craig <mark.craig@forgerock.com>
Date: Mon, 13 Jun 2011 14:42:00 +0000
Subject: [PATCH] Draft chapter on backup/restore, with 2 related <refentry>s
---
opendj3/src/main/docbkx/shared/man-backup.xml | 295 ++++++++++++++++++++--
opendj3/src/main/docbkx/shared/man-restore.xml | 252 +++++++++++++++++--
opendj3/src/main/docbkx/admin-guide/chap-backup-restore.xml | 176 +++++++++++++
3 files changed, 661 insertions(+), 62 deletions(-)
diff --git a/opendj3/src/main/docbkx/admin-guide/chap-backup-restore.xml b/opendj3/src/main/docbkx/admin-guide/chap-backup-restore.xml
index 056bfe0..0b0a1a2 100644
--- a/opendj3/src/main/docbkx/admin-guide/chap-backup-restore.xml
+++ b/opendj3/src/main/docbkx/admin-guide/chap-backup-restore.xml
@@ -36,6 +36,182 @@
to backup and to restore OpenDJ data from archives, and explains portability
of backup archives, as well as backing up server configuration
information.</para>
+
+ <section>
+ <title>Backing Up Directory Data</title>
+
+ <para>A <filename>bak/</filename> directory is provided when you install
+ OpenDJ, as a location to save binary backups. When you create a backup,
+ the <filename>bak/backup.info</filename> contains information about the
+ archive.</para>
+
+ <para>Archives produced by the <command>backup</command> command contain
+ backups only of the directory data. Backups of server configuration are
+ found in <filename>config/archived-configs/</filename>.</para>
+
+ <procedure>
+ <title>To Back Up Data Immediately</title>
+
+ <step>
+ <para>Use one of the following alternatives.</para>
+ <stepalternatives>
+ <step>
+ <para>Back up only the database for Example.com, where the data
+ is stored in the backend named <literal>userRoot</literal>.</para>
+ <screen width="80">$ backup -p 5444 -D "cn=Directory Manager" -w password \
+> -n userRoot -d /path/to/OpenDJ/bak -t 0
+Backup task 20110613143715983 scheduled to start Jun 13, 2011 2:37:15 PM CEST</screen>
+ </step>
+ <step>
+ <para>Stop the server to back up Example.com data offline.</para>
+ <screen width="80">$ stop-ds
+Stopping Server...
+[13/Jun/2011:14:31:00 +0200] category=BACKEND severity=NOTICE msgID=9896306
+ msg=The backend userRoot is now taken offline
+[13/Jun/2011:14:31:00 +0200] category=CORE severity=NOTICE msgID=458955
+ msg=The Directory Server is now stopped
+$ backup -n userRoot -d /path/to/OpenDJ/bak
+[13/Jun/2011:14:33:48 +0200] category=TOOLS severity=NOTICE msgID=10944792
+ msg=Starting backup for backend userRoot
+[13/Jun/2011:14:33:48 +0200] category=JEB severity=NOTICE msgID=8847446
+ msg=Archived: 00000000.jdb
+[13/Jun/2011:14:33:48 +0200] category=TOOLS severity=NOTICE msgID=10944795
+ msg=The backup process completed successfully
+$ start-ds
+... The Directory Server has started successfully</screen>
+ </step>
+ <step>
+ <para>Back up all user data on the server.</para>
+ <screen width="80">$ backup -p 5444 -D "cn=Directory Manager" -w password \
+> -a -d /path/to/OpenDJ/bak -t 0
+Backup task 20110613143801866 scheduled to start Jun 13, 2011 2:38:01 PM CEST</screen>
+ </step>
+ </stepalternatives>
+ </step>
+ </procedure>
+
+ <procedure>
+ <title>To Schedule Data Backup</title>
+
+ <para>You can schedule data backup using <command>crontab</command>
+ format.</para>
+
+ <step>
+ <para>Back up all user data every night at 2 AM, and notify
+ diradmin@example.com when finished, or on error.</para>
+ <screen width="80">$ backup -p 5444 -D "cn=Directory Manager" -w password -a \
+> -d /path/to/OpenDJ/bak --recurringTask "00 02 * * *" \
+> --completionNotify diradmin@example.com --errorNotify diradmin@example.com
+Recurring Backup task BackupTask-988d6adf-4d65-44bf-8546-6ea74a2480b0
+scheduled successfully</screen>
+ </step>
+ </procedure>
+ </section>
+
+ <section>
+ <title>Restoring Directory Data From Backup</title>
+
+ <para>When you restore data, the procedure to follow depends on whether
+ the OpenDJ directory server is replicated.</para>
+
+ <procedure>
+ <title>To Restore a Stand-alone Server</title>
+
+ <step>
+ <para>Use one of the following alternatives.</para>
+ <stepalternatives>
+ <step>
+ <para>Stop the server to restore data for Example.com.</para>
+ <screen width="80">$ stop-ds
+Stopping Server...
+
+[13/Jun/2011:15:44:06 +0200] category=BACKEND severity=NOTICE msgID=9896306
+ msg=The backend userRoot is now taken offline
+[13/Jun/2011:15:44:06 +0200] category=CORE severity=NOTICE msgID=458955
+ msg=The Directory Server is now stopped
+$ restore -d /path/to/OpenDJ/bak -l
+Backup ID: 20110613080032
+Backup Date: 13/Jun/2011:08:00:45 +0200
+Is Incremental: false
+Is Compressed: false
+Is Encrypted: false
+Has Unsigned Hash: false
+Has Signed Hash: false
+Dependent Upon: none
+$ restore -d /path/to/OpenDJ/bak -I 20110613080032
+[13/Jun/2011:15:47:41 +0200] category=JEB severity=NOTICE msgID=8847445
+ msg=Restored: 00000000.jdb (size 341835)
+$ start-ds
+... The Directory Server has started successfully</screen>
+ </step>
+ <step>
+ <para>Schedule the restore as a task to begin immediately.</para>
+ <screen width="80">$ restore -p 5444 -D "cn=Directory Manager" -w password \
+> -d /path/to/OpenDJ/bak -I 20110613080032 -t 0
+Restore task 20110613155052932 scheduled to start Jun 13, 2011 3:50:52 PM CEST</screen>
+ </step>
+ </stepalternatives>
+ </step>
+ </procedure>
+
+ <procedure>
+ <title>To Restore a Replica</title>
+
+ <para>When you restore a replicated server from backup, make sure the
+ backup is newer than the last purge of the replication change log (default:
+ 3 days).</para>
+
+ <step>
+ <para>Prepare the replica to be restored.</para>
+ <screen width="80">$ dsreplication pre-external-initialization -I admin -w password -X -n \
+> -p 5444 -b dc=example,dc=com
+
+Preparing base DN dc=example,dc=com to be initialized externally ..... Done.
+
+Now you can proceed to the initialization of the contents of the base DN's
+ on all the replicated servers. You can use the command import-ldif or
+ the binary copy to do so. You must use the same LDIF file or binary copy
+ on each server.
+
+When the initialization is completed you must use the subcommand
+ 'post-external-initialization' for replication to work with the new
+ base DN's contents.</screen>
+ </step>
+ <step>
+ <para>Restore the server database from the backup archive.</para>
+ <screen width="80">$ stop-ds
+Stopping Server...
+
+[13/Jun/2011:15:44:06 +0200] category=BACKEND severity=NOTICE msgID=9896306
+ msg=The backend userRoot is now taken offline
+[13/Jun/2011:15:44:06 +0200] category=CORE severity=NOTICE msgID=458955
+ msg=The Directory Server is now stopped
+$ restore -d /path/to/OpenDJ/bak -l
+Backup ID: 20110613080032
+Backup Date: 13/Jun/2011:08:00:45 +0200
+Is Incremental: false
+Is Compressed: false
+Is Encrypted: false
+Has Unsigned Hash: false
+Has Signed Hash: false
+Dependent Upon: none
+$ restore -d /path/to/OpenDJ/bak -I 20110613080032
+[13/Jun/2011:15:47:41 +0200] category=JEB severity=NOTICE msgID=8847445
+ msg=Restored: 00000000.jdb (size 341835)
+$ start-ds
+... The Directory Server has started successfully</screen>
+ </step>
+ <step>
+ <para>Reinitialize replication on the replica.</para>
+ <screen width="80">$ dsreplication post-external-initialization -I admin -w password -X -n \
+> -p 5444 -b dc=example,dc=com
+
+Updating replication information on base DN dc=example,dc=com ..... Done.
+
+Post initialization procedure completed successfully.</screen>
+ </step>
+ </procedure>
+ </section>
</chapter>
diff --git a/opendj3/src/main/docbkx/shared/man-backup.xml b/opendj3/src/main/docbkx/shared/man-backup.xml
index e5a508d..91fd8f2 100644
--- a/opendj3/src/main/docbkx/shared/man-backup.xml
+++ b/opendj3/src/main/docbkx/shared/man-backup.xml
@@ -35,72 +35,305 @@
</refmeta>
<refnamediv>
<refname>backup</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>back up OpenDJ directory data</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>backup</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to back up one or more directory server
+ backends.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-a, --backUpAll</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Back up all backends in the server</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-A, --hash</option></term>
+ <listitem>
+ <para>Generate a hash of the backup contents</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-B, --incrementalBaseID {backupID}</option></term>
+ <listitem>
+ <para>Backup ID of the source archive for an incremental backup.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-c, --compress</option></term>
+ <listitem>
+ <para>Compress the backup content</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-d, --backupDirectory {backupDir}</option></term>
+ <listitem>
+ <para>Path to the target directory for the backup file(s)</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-i, --incremental</option></term>
+ <listitem>
+ <para>Perform an incremental backup rather than a full backup</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-I, --backupID {backupID}</option></term>
+ <listitem>
+ <para>Use the provided identifier for the backup</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n, --backendID {backendName}</option></term>
+ <listitem>
+ <para>Backend ID for the backend to archive</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-s, --signHash</option></term>
+ <listitem>
+ <para>Sign the hash of the backup contents</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-y, --encrypt</option></term>
+ <listitem>
+ <para>Encrypt the backup contents</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>backup</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>Task Backend Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>--connectTimeout {timeout}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>Maximum length of time (in milliseconds) that can be taken to
+ establish a connection. Use '0' to specify no time out.</para>
+ <para>Default value: 30000</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-D, --bindDN {bindDN}</option></term>
+ <listitem>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para>Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server administration port number</para>
+ <para>Default value: 4444</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Task Scheduling Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--completionNotify {emailAddress}</option></term>
+ <listitem>
+ <para>Email address of a recipient to be notified when the task
+ completes. This option may be specified more than once.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--dependency {taskID}</option></term>
+ <listitem>
+ <para>ID of a task upon which this task depends. A task will not start
+ execution until all its dependencies have completed execution.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--errorNotify {emailAddress}</option></term>
+ <listitem>
+ <para>Email address of a recipient to be notified if an error occurs
+ when this task executes. This option may be specified more than
+ once.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--failedDependencyAction {action}</option></term>
+ <listitem>
+ <para>Action this task will take should one if its dependent tasks fail.
+ The value must be one of PROCESS, CANCEL, DISABLE. If not specified
+ defaults to CANCEL.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--recurringTask {schedulePattern}</option></term>
+ <listitem>
+ <para>Indicates the task is recurring and will be scheduled according
+ to the value argument expressed in crontab(5) compatible time/date
+ pattern.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-t, --start {startTime}</option></term>
+ <listitem>
+ <para>Indicates the date/time at which this operation will start when
+ scheduled as a server task expressed in YYYYMMDDhhmmssZ format for UTC
+ time or YYYYMMDDhhmmss for local time. A value of '0' will cause the
+ task to be scheduled for immediate execution. When this option is
+ specified the operation will be scheduled to start at the specified
+ time after which this utility will exit immediately.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-V, --version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example backs up all user data on the server.</para>
+ <screen width="80">$ backup -p 5444 -D "cn=Directory Manager" -w password \
+> -a -d /path/to/OpenDJ/bak -t 0
+Backup task 20110613143801866 scheduled to start Jun 13, 2011 2:38:01 PM CEST</screen>
+
+ <para>The following example schedules back up of all user data every night at
+ 2 AM, and notifies diradmin@example.com when finished, or on error.</para>
+ <screen width="80">$ backup -p 5444 -D "cn=Directory Manager" -w password -a \
+> -d /path/to/OpenDJ/bak --recurringTask "00 02 * * *" \
+> --completionNotify diradmin@example.com --errorNotify diradmin@example.com
+Recurring Backup task BackupTask-988d6adf-4d65-44bf-8546-6ea74a2480b0
+scheduled successfully</screen>
</refsect1>
</refentry>
diff --git a/opendj3/src/main/docbkx/shared/man-restore.xml b/opendj3/src/main/docbkx/shared/man-restore.xml
index b5bc838..f76fff0 100644
--- a/opendj3/src/main/docbkx/shared/man-restore.xml
+++ b/opendj3/src/main/docbkx/shared/man-restore.xml
@@ -35,72 +35,262 @@
</refmeta>
<refnamediv>
<refname>restore</refname>
- <refpurpose>TODO one-line description</refpurpose>
+ <refpurpose>restore OpenDJ directory data backups</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>restore</command>
- <command><replaceable>subcommand</replaceable></command>
- <arg choice="opt">--options</arg>
+ <arg choice="req">options</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>TODO description.</para>
+ <para>This utility can be used to restore a backup of a directory server
+ backend.</para>
</refsect1>
<refsect1>
- <title>Global Options</title>
- <para>The following global options are supported.</para>
+ <title>Options</title>
+ <para>The following options are supported.</para>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>-d, --backupDirectory {backupDir}</option></term>
<listitem>
- <para>TODO Description.</para>
+ <para>Path to the target directory for the backup file(s)</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>-I, --backupID {backupID}</option></term>
+ <listitem>
+ <para>Use the provided identifier for the backup</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-l, --listBackups</option></term>
+ <listitem>
+ <para>List available backups in the backup directory</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-n, --dry-run</option></term>
+ <listitem>
+ <para>Verify the contents of the backup but do not restore it</para>
+ </listitem>
+ </varlistentry>
</variablelist>
- </refsect1>
- <refsect1>
- <title>Subcommands</title>
- <para>The following subcommands are supported.</para>
<refsect2>
- <para>TODO Description.</para>
- <cmdsynopsis>
- <command>restore</command>
- <command>TODO</command>
- <arg choice="opt">--options</arg>
- </cmdsynopsis>
+ <title>Task Backend Connection Options</title>
<variablelist>
<varlistentry>
- <term><option>TODO</option></term>
+ <term><option>--connectTimeout {timeout}</option></term>
<listitem>
- <para>TODO description.</para>
+ <para>Maximum length of time (in milliseconds) that can be taken to
+ establish a connection. Use '0' to specify no time out.</para>
+ <para>Default value: 30000</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-D, --bindDN {bindDN}</option></term>
+ <listitem>
+ <para>DN to use to bind to the server</para>
+ <para>Default value: cn=Directory Manager</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h, --hostname {host}</option></term>
+ <listitem>
+ <para>Directory server hostname or IP address</para>
+ <para>Default value: localhost.localdomain</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-j, --bindPasswordFile {bindPasswordFile}</option></term>
+ <listitem>
+ <para>Bind password file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-K, --keyStorePath {keyStorePath}</option></term>
+ <listitem>
+ <para>Certificate key store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-N, --certNickname {nickname}</option></term>
+ <listitem>
+ <para>Nickname of certificate for SSL client authentication</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-o, --saslOption {name=value}</option></term>
+ <listitem>
+ <para>SASL bind options</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-p, --port {port}</option></term>
+ <listitem>
+ <para>Directory server administration port number</para>
+ <para>Default value: 4444</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-P, --trustStorePath {trustStorePath}</option></term>
+ <listitem>
+ <para>Certificate trust store path</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-T, --trustStorePassword {trustStorePassword}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-u, --keyStorePasswordFile {keyStorePasswordFile}</option></term>
+ <listitem>
+ <para>Certificate key store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-U, --trustStorePasswordFile {path}</option></term>
+ <listitem>
+ <para>Certificate trust store PIN file</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-w, --bindPassword {bindPassword}</option></term>
+ <listitem>
+ <para>Password to use to bind to the server</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W, --keyStorePassword {keyStorePassword}</option></term>
+ <listitem>
+ <para>Certificate key store PIN</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-X, --trustAll</option></term>
+ <listitem>
+ <para>Trust all server SSL certificates</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Task Scheduling Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--completionNotify {emailAddress}</option></term>
+ <listitem>
+ <para>Email address of a recipient to be notified when the task
+ completes. This option may be specified more than once.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--dependency {taskID}</option></term>
+ <listitem>
+ <para>ID of a task upon which this task depends. A task will not start
+ execution until all its dependencies have completed execution.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--errorNotify {emailAddress}</option></term>
+ <listitem>
+ <para>Email address of a recipient to be notified if an error occurs
+ when this task executes. This option may be specified more than
+ once.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--failedDependencyAction {action}</option></term>
+ <listitem>
+ <para>Action this task will take should one if its dependent tasks fail.
+ The value must be one of PROCESS, CANCEL, DISABLE. If not specified
+ defaults to CANCEL.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--recurringTask {schedulePattern}</option></term>
+ <listitem>
+ <para>Indicates the task is recurring and will be scheduled according
+ to the value argument expressed in crontab(5) compatible time/date
+ pattern.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-t, --start {startTime}</option></term>
+ <listitem>
+ <para>Indicates the date/time at which this operation will start when
+ scheduled as a server task expressed in YYYYMMDDhhmmssZ format for UTC
+ time or YYYYMMDDhhmmss for local time. A value of '0' will cause the
+ task to be scheduled for immediate execution. When this option is
+ specified the operation will be scheduled to start at the specified
+ time after which this utility will exit immediately.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Utility Input/Output Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>--noPropertiesFile</option></term>
+ <listitem>
+ <para>No properties file will be used to get default command line
+ argument values</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--propertiesFilePath {propertiesFilePath}</option></term>
+ <listitem>
+ <para>Path to the file containing default property values used for
+ command line arguments</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>General Options</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>-V, --version</option></term>
+ <listitem>
+ <para>Display version information</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-?, -H, --help</option></term>
+ <listitem>
+ <para>Display usage information</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1>
- <title>Files</title>
- <para>TODO if command has configuration file.</para>
- </refsect1>
- <refsect1>
- <title>Environment</title>
- <para>TODO if command reads environment variables.</para>
- </refsect1>
- <refsect1>
<title>Exit Codes</title>
<variablelist>
<varlistentry>
- <term>TODO exit code</term>
+ <term>0</term>
<listitem>
- <para>TODO description.</para>
+ <para>The command completed successfully.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>1</term>
+ <listitem>
+ <para>An error occurred while parsing the command-line arguments.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Examples</title>
- <para>TODO</para>
+ <para>The following example schedules a restore as a task to begin
+ immediately.</para>
+ <screen width="80">$ restore -p 5444 -D "cn=Directory Manager" -w password \
+> -d /path/to/OpenDJ/bak -I 20110613080032 -t 0
+Restore task 20110613155052932 scheduled to start Jun 13, 2011 3:50:52 PM CEST</screen>
</refsect1>
</refentry>
--
Gitblit v1.10.0