Restoring a backup from a sql and home directory dump
Asked by AStA:

The backup only contains the sql dump and a copy of the /var/atlassian folder (containing application-data and keystores) there is a also a server.xml file.

The confluence.cfg.xml file contains \<buildNumber\>7502\</buildNumber\>, so I am trying to start a Confluence Server 6.6.17 instance using it.

I've tried to simply run the instance with the application-data/confluence directory mounted into the docker image and the sql dump restored onto the server.

Unfourtunatly, the docker image fails to start and simply gets stuck at:

```
2023-02-23 14:09:13,448 INFO [localhost-startStop-1] [atlassian.confluence.cluster.DefaultClusterConfigurationHelper] lambda$populateExistingClusterSetupConfig$1 Populating setup configuration if running with Cluster mode...
```

If I remove the confluence.cfg.xml out of the application-data/confluence directory it starts with this error:  

```
2023-02-23 14:10:43,995 INFO [localhost-startStop-1] [atlassian.confluence.cluster.DefaultClusterConfigurationHelper] lambda$populateExistingClusterSetupConfig$1 Populating setup configuration if running with Cluster mode...
23-Feb-2023 14:10:44.494 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3777 ms
23-Feb-2023 14:10:44.483 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
null
2023-02-23 14:10:44,012 INFO [localhost-startStop-1] [atlassian.confluence.cluster.DefaultClusterConfigurationHelper] lambda$populateExistingClusterSetupConfig$1 Finish Populating setup configuration if running with Cluster mode
2023-02-23 14:10:44,031 ERROR [localhost-startStop-1] [atlassian.confluence.setup.ConfluenceConfigurationListener] contextInitialized An error was encountered while bootstrapping Confluence (see below): 
java.lang.NullPointerException
at java.lang.Class.forName(Class.java:264)
at java.lang.Class.forName0(Native Method)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
at com.atlassian.confluence.setup.DefaultBootstrapManager.isDriverPresent(DefaultBootstrapManager.java:785)
at com.atlassian.confluence.setup.DefaultBootstrapManager.performPersistenceUpgrade(DefaultBootstrapManager.java:333)
at com.atlassian.confluence.setup.DefaultBootstrapManager.checkRequiredDriverIsPresent(DefaultBootstrapManager.java:762)
at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:81)
at com.atlassian.confluence.setup.DefaultBootstrapManager.init(DefaultBootstrapManager.java:180)
at com.atlassian.config.util.BootstrapUtils.init(BootstrapUtils.java:36)
at com.atlassian.confluence.setup.ConfluenceConfigurationListener.contextInitialized(ConfluenceConfigurationListener.java:64)
at com.atlassian.confluence.setup.ConfluenceConfigurationListener.initialiseBootstrapContext(ConfluenceConfigurationListener.java:130)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5363)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4900)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1400)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2023-02-23 14:10:44,044 WARN [localhost-startStop-1] [atlassian.confluence.plugin.PluginFrameworkContextListener] contextInitialized Not starting full plugin system due to upgrade or licensing errors
2023-02-23 14:10:44,470 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] init Confluence is ready to serve
23-Feb-2023 14:10:44.478 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8090"]
```

How do I properly restore confluence from this backup?


Answers:
author: Nic Brough -Adaptavist-
body: Welcome to the Atlassian Community!

A database dump contains everything except the attachments, so restoring a database dump and pointing a new Confluence at it should work fine (assuming it is the same version)

This looks like you have tried to restore to a different version of Confluence (Version, not type - it should work fine if you move between the same version of Server and DC) This can work, if the new Confluence is a higher version, it will try to upgrade your data, but it is not recommended.

In this case, I'd want to check that you have a valid licence for the target system (the end date of your license is after the release date of your version) and that it's the same version of Confluence as the source.

comments: author: AStA
body: That's a bit where I struggle. How exactly do I point a new confluence instance to an existing db? And also, I do have the full application-data/confluence folder.

Unfourtunatly I don't know the exact version the previous confluence server was running on, however I used [this](https://developer.atlassian.com/server/confluence/confluence-build-information/) page together with the build Number that was in the backed up confluence.cfg.xml (7502) to arrive at 6.6.17. Should I try another version with the build number 7502 (there are several 6.6.x versions?) Is the build number even updated in that config, or could it be that the previous server ran a more recent version?

I do have a valid license, even currently valid. Would you recommend trying a more recent version generally, hoping it can do an automatic upgrade?


author: Nic Brough -Adaptavist-
body: I would go back to the **exact** version of Confluence your production system currently is.


Tags: confluence-server

server