My Story - Syncing XBMC's completely (including addons)
#1
I have read http://wiki.xbmc.org/index.php?title=HOW...ts_of_XBMC
(nice job on the wiki update by the way)

I want my multiple XBMC's (6 in my house) to all by synchronized as much as possible (inlcuding installed add-ons).
Syncing the library content was easy since MySQL takes care of that. But there are many other parts of XBMC that need to by sync'd.

The wiki recommends syncing these from your userdata folder:
Thumbnails
Playlists
addon_data
keymaps
sources.xml
RssFeeds.xml


I also sync:
addons (next to the userdata folder)
userdata/Database (yes, that's right, I'm syncing SQLite .db's)
userdata/peripheral_data
userdata/favourites.xml
userdata/LCD.xml
userdata/playercorefactory.xml
userdata/profiles.xml

I do NOT synchronize:
guisettings.xml - Although it would be nice to sync this, it has too many components that are specific to the device running XBMC. Most of my XBMC devices are different make/model...
upnpserver.xml - This contains a UUID, so it shouldn't be shared.


The main thing you may find odd (or not recommended) is that the actual addon's directory is synchronized. This means that if I install or update an addon on any of my XBMC's, it's installed and updated on all the other ones.
I also have to synchronize my userdata/Database directory because that includes the AddonsXX.db file that tracks which addons i have. It also includes other databases such as texturesX.db and viewmodesX.db that are nice to have synchronized.

Since I use the PVR branch of XBMC (Eden B2), syncing the .db's also keeps all my channels, guide data, and recordings synchronized.

This has been working flawlessly for me for the past month or so.
I always run the same build on all my XBMC instances, which is essential if you are going to share things the way I am. They all use the same (default) skin.


I know that sharing the SQLite db's in not recommended, but in my scenario, it has been working flawlessly. If all your XBMC's are eseentially clones, I don't see any reason why you can't share SQLite DB's.

Also, I run all my XBMC's with the -p switch (portable mode). It just keeps everything inside the XBMC installation directory. I believe this could be done without that, but I've never tried it.
Lastly, I use symbolic links to synchronize all of my folders, so don't ask me what the correct pathsubstitution xml to use is Smile


Team-XBMC: Am I asking for trouble synchronizing this much stuff? Like I said, this has been working flawlessly for a month or so... I thought I'd share in case anyone else is in a similar situation.
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#2
You will find the xbmc subtitles addon does not support syncing the addon_data folder.
Image
Reply
#3
I use SQlite...and dropbox and works wonderful. I have 3 XBMC boxes and a torrentbox that's always on. All of them have are linked to a free dropbox account and symlinks to the data folders and it's just about perfect.

Dropbox itself handles the conflicts, I have a cleanup script to erase cached packages that fill my dropbox pretty quickly.
Reply
#4
Update many months later: everything is still working well w/ no corruption of the .db files.. I've even added a couple more XBMC clients to the mix and they are all staying fully synchronized.
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#5
i found if your using multiple profiles, that you do not want to fully sync profiles.xml between the xbmc installs.. i have the main profiles.xml on my main server, for editing, then it gets pushed to the xbmc boxes. if you sync this, you will find that each time you log off of one profile, it saves that profile as the last logged in one, then syncs profiles.xml to your other boxes and you may end up with the wrong profile loading on those boxes.
Reply
#6
I have my addon folder shared thru path subsitution along with everything else, but does this synd apps already installed or does it just sync newly installed / updated apps? Because my setup isn't transferring apps already installed.


******update..... Ok now all my addons disappeared and when I try to install one, the download notification pops up then immediately disappears. Any suggestions??
Reply
#7
I am running xbmc Eden on all three machines. One is a MacBook pro, one is an appletv 1 and the last one is an apple tv 2. Could the different platforms be the issueHuh
Reply
#8
You'd need to sync the addon.db too.
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#9
(2012-08-10, 21:16)bradvido88 Wrote: You'd need to sync the addon.db too.

That shouldn't cause them to disappear, though. Sharing the Addon database isn't strictly required, since by default XBMC will simply enable any add-on that it sees that isn't already in the DB.
Reply
#10
(2012-08-10, 21:16)bradvido88 Wrote: You'd need to sync the addon.db too.



Sorry it's been so long since I posted in here, but just got back around to working on this again. Anyway, I have shared the addon folder and have path subsitution set up for it. Is that all I should have to do for it?
Reply
#11
Hi,

I've been running the same approach for several months now too across RASBMC and several Windows installs.

1) Addons directory is synched across multiple XBMCs syncback/rsync from the my NAS keeping things local not synching via Dropbox. There is a master version saved on the server which also includes...

2) MySql server with Videos and Music databases (all XBMCs as usual MUST be using the same database versions, i.e. the same XX in MyVideosXX).
Setting up the Mysql server on my server (DNS-345 Sharecenter NAS) was complicated but eventually worked with funplug 0.7 and the relevant version of Mysql supplid in Uli's repository - a google serach will get all of that information for you.


2) I also synchronise the userdata/database directory in the same manner as the addons directory.

I decided to give only one desktop PC delete rights, i.e. if something is deleted from any other version of XBMC it will be put back on the next Sync, if it is deleted from the "Master" it will be deleted from the rest - otherwise the sync rule is standard replace with the newer version.


3) Path substitutions in advancedsettings.xml -

I tried MANY different <substitute> in advancedsettings.xml and finally just left the sources.xml substitute (also contained on the server).

I wanted to do the same for guisettings.xml - but I cannot seem to get the substitute code right. The reason I wanted this was to have all the versions looking the same, same skin, same settgins in the skin, custombackgrounds etc etc. Any thoughts anyone?

4) Housekeeping

I keep a copy of the current required advancedsettings.xml on the server too for easy access, but I do not automatically sync this file across installs.I will copy this file directly across when a new install is in place.

Happy New Year!

Cian
Reply
#12
(2013-01-10, 14:55)ciantm Wrote: Hi,

I've been running the same approach for several months now too across RASBMC and several Windows installs.

1) Addons directory is synched across multiple XBMCs using "Syncback", i prefer not to use Dropbox and keep things local. There is a master version saved on the server which also includes...

2) MySql server with Videos and Music databases (all XBMCs as usual MUST be using the same database versions, i.e. the same XX in MyVideosXX).
Setting up the Mysql server on my server (DNS-345 Sharecenter NAS) was complicated but eventually worked with funplug 0.7 and the relevant version of Mysql supplid in Uli's repository - a google serach will get all of that information for you.


2) I also synchronise the userdata/database directory in the same manner as the addons directory.

I decided to give only one desktop PC delete rights, i.e. if something is deleted from any other version of XBMC it will be put back on the next Sync, if it is deleted from the "Master" it will be deleted from the rest - otherwise the sync rule is standard replace with the newer version.


3) Path substitutions in advancedsettings.xml -

I tried MANY different <substitute> in advancedsettings.xml and finally just left the sources.xml substitute (also contained on the server).

I wanted to do the same for guisettings.xml - but I cannot seem to get the substitute code right. The reason I wanted this was to have all the versions looking the same, same skin, same settgins in the skin, custombackgrounds etc etc. Any thoughts anyone?

4) Housekeeping

I keep a copy of the current required advancedsettings.xml on the server too for easy access, but I do not automatically sync this file across installs.I will copy this file directly across when a new install is in place.

Happy New Year!

Cian

I tend to copy the guisettings.xml to each device and then change anything that is required for each device afterwards.
Reply
#13
@T800 - Yes, that's what I have been doing too but problems arise with the RASBMC as XBMC automatically rewrites guisettings.xml on closing, and once RASBMC is switched on it is loaded up straight away not allowing time to transfer the file and therefore overwriting any changes that you may have made to the guisettings.xml while it was running on the next reboot/shutdown.

I can ssh and stop the service using initctl stop xbmc, that should work - but it is a complicated way of keeping settings in line vs the automatic file sync approach.

Cian
Reply
#14
I am attempting to sync my XBMC Video and Program addons via pathsubstitution but it is not working. If I browse the directory, I am able to access the network drive, so it is looking at the right place, but under Video> Addons, no addons show up.
Reply
#15
(2013-10-14, 00:09)stevedawg85 Wrote: I am attempting to sync my XBMC Video and Program addons via pathsubstitution but it is not working. If I browse the directory, I am able to access the network drive, so it is looking at the right place, but under Video> Addons, no addons show up.

Some add-on data can be synced using path subs, but add-ons themselves should not be shared this way.
Reply

Logout Mark Read Team Forum Stats Members Help
My Story - Syncing XBMC's completely (including addons)1