BitTorrent Sync or BT Sync uses BitTorrent technology to facilitate peer to peer file synchronization. It allows almost true peer to peer setup without a central server (except for a tracker). Clients can come on and offline as an when and so long as there is 1 up to date service containing the files then it will transfer them across when needed.
I’ve tested this on a Ubuntu 14.04 server edition:
Add a PPA to the repository list:
sudo add-apt-repository ppa:tuxpoldo/btsync -y
Fetch updates now that there’s a new repository added:
sudo apt-get update
Install BT Sync:
sudo apt-get install btsync
During the install it will ask if you want to setup BT Sync from the command line. You can always reconfig it again by running:
sudo dpkg-reconfigure btsync
The initial setup wizard will be a cut down version of the dpkg-reconfigure so below should cover the extended version:
Select Yes to Do you want to define a default BitTorrent Sync instance?. BT Sync allows multiple instances of BT Sync to run for example if you want to setup a per user config for example but it’s beyond the scope of this post.
Select btsync for BitTorrent Sync Daemon Credentials:. This will mean btsync user will need access to the directory it will be syncing. An alternative to btsync account would be the user who owns the directory if the system only has one real user.
Set the Web Interface Listen Port to either 80 (default web port as long as there are no other service running on the same port) or some other desire port. In this case I left it as 8888. This port is to allow web management of BT Sync settings.
Select Yes for Should BitTorrent Sync perform disk operations with low priority? This will de-prioritise disk writes from BT Sync so if there are a lot of files to sync it should have less impact on the system.
Leave the following options empty to let BT Sync use the default:
After all that you can go to your bowser and setup the folders through the web at http://myServer:8888 replacing myServer with the server address.
I’ve found BT Sync to work really well and fast but the documentation is very bad especially for running it on the server. Bear in mind this is still in beta at the time of writing so make sure you have backup of the data.