-
Notifications
You must be signed in to change notification settings - Fork 2
Home
This is a cross platform event based synchronization tool based on plugins. Each plugin provides the ability to read write, and discover changes to files. When a change is discovered, the files are synchronized anywhere specified in the configuration. This allows for flexible backup and synchronization of files between anywhere on the system and any supported storage back-end. Work is currently being done to support Dropbox and Google Drive, with plans to also support Copy.com and others.
This tool is designed to be cross platform. Currently all the plugins are written in C using librest, which is based on libcurl and json-c for ease of portability. Linux is the primary operating system, but Windows and Mac OS X will also be supported.
You will need libcurl
and json-c
development libraries installed.
Then run these commands from the checked out folder.
./autogen.sh #build the configure script.
./configure
make
sudo make install.
Once you have built and installed syncd, you will need to create a rules file.
This file should be located in the syncd config directory at $HOME/.config/syncd/rules.json
.
This is a json formatted file specifying where to copy files to/from.
The format of this file is as follows:
{
"plugin:///src/folder/" : [ "plugin:///dest/1/", "plugin:///dest/2/"],
"dropbox:///Documents/" : [ "file:///home/user/Documents/"]
}
The current plugin prifixes are
-
dropbox://
for dropbox -
file://
for the filesystem -
gdrive://
for Google Drive
You can also use the python utilities in syncd-rules. These are included in the Ubuntu and Fedora packages as part of release v0.9. You can find documentation for using these utilities on its wiki page.
To add a rule run:
syncd-add "file:///home/user/Documents/" "dropbox:///Documents"
this will add full synchronization both to and from your filesystem and dropbox.
once this file is all set, run syncd
from the terminal, and enjoy!!