The XBMC Backup Addon
This is a real quick way to export your XBMC data to another folder or network share for backup purposes. Scheduling, compressing,and having a max number of archived backups are also configurable options. This allows you to use the addon as a completely hands off backup solution. The types of files you can backup from XBMC include:
- User Addons - Addon's you've downloaded
- Addon Data - Settings associated with your addons
- Database - The SQLite Databases
- Playlists - Your playlist folder
- Thumbnails/Fanart - downloaded images
- Config Files - sources.xml, guisettings.xml, advancedsettings.xml, etc
- Up to 2 non-xbmc directories on your local system
Since this addon is using the xbmcvfs python module to actually do the file copy you should be able to backup to any location read/writeable by XBMC. You can also write directly to a Dropbox target without needing the Dropbox client on your HTPC. Right now you can download the addon from the main XBMC Add-on repo or the github page for this project. Please post any problems and suggestions here.
In XBMC: Settings->Add-ons->Get Add-ons->Programs
During the restore process there are a few checks and post-run procedures to know about.
The first is a version check. If you are restoring to a different version of XBMC than the one used to create the backup archive you'll get a warning. In most cases it is OK to proceed, just know that some specific items like addons and database files may not work correctly.
The next check is for an advancedsettings.xml file. If you've created this file and it exists in your restore archive you'll be asked to reboot XBMC. This is so that the file can be loaded and used for any special settings, mainly path substitutions, you may have had that would affect the rest of the restore. XBMC Backup will prompt you to continue the restore process when you reboot the program.
The last bit of post-processing is done after all the backup files have been restored. If you have restored your configuration files the addon will attempt to restore any system specific settings that it can from the guisettings.xml file. This is done by comparing the restored file with settings via the JSONPRC Settings.SetSettingValue method. Only system specific settings can be restored so you will get any custom views or skin specific settings back. See the FAQ for how to restore these.
I can't see any restore points when choosing "Restore", what is the problem?
If you've created restore points with an older version of the addon (pre 0.3.6) you may see this issue. New versions of the addon look for a file called xbmcbackup.val to validate that a folder is a valid restore archive. Your older restore folders may not have this file. All you need to do is create a blank text file and rename it to xbmcbackup.val. Then put this file inside the archive directory. Your restore points should show up after selecting "Restore" in the addon again.
Several settings aren't being restored, this includes views, weather, etc. How do I get these back?
GUISETTINGS.xml is a configuration file used heavily by XBMC for remembering GUI specific settings. Due to the fact that XBMC reads this file on startup, and writes from memory to this file on shutdown; it is not possible to restore this file while XBMC is running. You must manually move this file from your backup archives if you wish to restore it. User SouthMark has posted the following steps for restoring in the OpenELEC system where this is more difficult:
1. Run the restore of your backup
2. SSH using putty to the IP Address of your media centre username: root Password openelec
3. Type "systemctl stop xbmc.service" - Your media center machine should now go blank
5. Connect to your machine using WinSCP and copy the guisettings.xml file to the userdata folder (this is the guisettings.xml file from your backup), alternatively you can copy this file directly to an SMB share and use putty to move it to the right spot.
6. go back to your putty window and type "systemctl start xbmc.service"
Why is the Addon prompting me to restart XBMC to continue?
If you have an advancedsettings file in your restore folder the addon will ask you if you want to restore this file and restart xbmc to continue. This is because the advancedsettings file may contain path substitution information that you want to be loaded when doing the rest of your restore. By restoring this file and restarting xbmc it will be loaded and the rest of your files will go where they are supposed to. If you know your file does not contain any path substitutions you can select "no" and continue as normal.
I've re-installed a newer version of XBMC from scratch and tried to restore my data from an older version. Why isn't it working?
It is working, just not how you are expecting. When re-installing xbmc it is usually easier to install the version you had and do an in-place upgrade by installing the newer version of the top. XBMC will take care of upgrading your content, addons, and databases itself after running it for the first time. By doing a backup of your current, wiping your data, and installing a newer version you're not allowing these processes to take place. What ends up happening is that your old databases and other files get restored, xbmc just doesn't care to use them anymore. In the case of addons this could really mess things up by restoring now non-working addons from an older version of xbmc.
If you want to get your databases back after doing this there is something you can do. XBMC will perform a check on startup for the most current database version. If one is not found it will look for an older one and upgrade it. So you can do your restore process, then quit xbmc. Find the database files under userdata/Databases and delete the ones with the highest DB number. Then start xbmc again. It should take your old database and upgrade it to the most current version - creating a new database file in the process. Please note this only works for the SQLite database.
Compressing my backups isn't working, why?
The most common reason for this is going to be drive space. Non-compressed backups write files directly from your local folders to the remote directory. When compressing the archive the files are first staged locally and then only the compressed folder copied over the remote directory. This means for both backup and restore operations you need to have enough space on your local drive for creation/extraction of the compressed archive. Depending on the folders you are selecting - especially for custom directories - this could be a lot of extra drive space, or very little.