WildFly CLI - Taking and Restoring Configuration Snapshots
Internal
Relevance
EAP 6.4
Overview
This article describes the procedure of taking a standalone instance configuration snapshot, usually performed before a significant CLI-based reconfiguration of the application server and restoring the initial configuration in case of re-configuration failure. This mechanism relies on the fact that the application server maintains a history of its past configurations, and it is capable of taking configuration snapshots. More details about this mechanism are available here:
Take a Configuration Snapshot
Before applying a configuration change (or a set of configuration changes) that could destabilize the application server instance, take a configuration snapshot as described below.
Connect to the application server with the CLI. More details on how to connect to the application server instance are available here: Connect to a Controller.
Take a configuration snapshot as follows:
[standalone@localhost:9999 /] cd / [standalone@localhost:9999 /] :take-snapshot { "outcome" => "success", "result" => "./configuration/standalone_xml_history/snapshot/20160331-205313510standalone.xml" }
Record the name of the configuration snapshot (in this case 20160331-205313510standalone.xml). This information will be needed in case we need to rollback.
Rollback to a Specific Known Good State
In order to rollback to a specific configuration, you will need the name of the configuration snapshot (in this case 20160331-205313510standalone.xml).
Shutdown the application server instance, then restore the configuration file based on the backup:
cp $JBOSS_HOME/standalone/configuration/standalone_xml_history/snapshot/<snapshot-name> cp $JBOSS_HOME/standalone/configuration/standalone.xml
Example:
cp $JBOSS_HOME/standalone/configuration/standalone_xml_history/snapshot//20160331-205313510standalone.xmlcp $JBOSS_HOME/standalone/configuration/standalone.xml
The instance can then be shut down and restarted as usual.
Note that you can start the server based on the backup snapshot directly, as shown below:
$JBOSS_HOME/bin/standalone.sh --server-config=standalone_xml_history/snapshot/<snapshot-name>
Example:
$JBOSS_HOME/bin/standalone.sh --server-config=standalone_xml_history/snapshot/20160331-205313510standalone.xml