I am currently working on backing up our Jenkins system. The ThinBackup plugin seemed perfect as it allows us to do weekly backups. To ensure that the backups are working correctly I am attempting to test a recently created backup. I am doing this by assigning an environment variable "JENKINS_HOME" to the location of the backup, then starting Jenkins as I would normally. I have no issue if I assign JENKINS_HOME to the current working Jenkins directory.
When I assign it to the backup directory instead, I get a page of errors starting with "hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.io.IOException: Unable to read C:\Jenkins\Backup\FULL-2015-09-13_00-00\config.xml
A possibly important part of the cascading error messages is "Caused by: jenkins.util.xstream.CriticalXStreamException: hudson.plugins.active_directory.ActiveDirectorySecurityRealm : hudson.plugins.active_directory.ActiveDirectorySecurityRealm"
Which seems to talk about a hudson plugin for ActiveDirectorySecurityRealm.
When examining further, it appears that some of the plugins are not being moved over when the backup is happening. There appears to be no configuration option to select this behavior. There is no information in the documentation about some plugins being backed up and others not being backed up. As far as I can tell, this is a feature that is not working correctly.
As these plugins are key to my Jenkins configuration and implementation, this is a major bug and will probably prevent me from being able to use this plugin without an update.
After a bit more testing, I am able to copy the active-directory folder and .jpi from the production folder over to the backup and the system will start Jenkins but many of the other plugins appear to be missing. Notably, the ThinBackup plug is no longer under the "manage Jenkins" link.
I may be able to create a workaround where I just copy all of the jobs manually but this defeats the purpose of using a backup plugin. Also there is no way (that I know of) to make sure both the plugin-based backup and my workaround happen at the same time of the day which is important to maintaining backups.
I have included pictures of the ThinBackup configuration, the beginning of the large page of errors, and the two plugin folders side by side. (NOTE: some of the plugins on the production server (right side) may no longer be used. This is the test server where we test Jenkins changes before pushing them to a production server and as such there are some plugins that get tested but are then removed.)