Sync Toolkit

Setup automatic file synchronization with any cloud storage.

Introduction

Sync Toolkit lets IT Admins configure sync access to cloud storage for Windows, Mac, and Linux servers. Unlike consumer cloud sync, Sync Toolkit is suitable for IT workloads. It is configurable, scriptable, programmable, and remotely manageable.

Install Sync Toolkit

Download Sync Toolkit and extract the zip file to your preferred location.

Sync Toolkit depends on Explorer Toolkit for storage integration. Please download and install Explorer Toolkit and connect cloud storage accounts before continuing to set up sync.

$ tar -xvzf linux-sync-toolkit-4.tar.gz 
x ./
x ./sync/
x ./sync/config.json
x ./sync/dist.dat
x ./sync/start.sh
x ./sync/stop.sh
x ./sync/sync
x ./sync/syncd
x ./sync/TOS.txt
$
C:\toolkit> unzip win-sync-toolkit-5.zip
Archive:  win-sync-toolkit-5.zip
   creating: sync/
 extracting: sync/config.json
  inflating: sync/dist.dat
  inflating: sync/start.bat
  inflating: sync/stop.bat
  inflating: sync/sync.exe
  inflating: sync/syncd.exe
  inflating: sync/TOS.txt

C:\toolkit>
$ tar -xvzf mac-sync-toolkit-4.tar.gz 
x ./
x ./sync/
x ./sync/config.json
x ./sync/dist.dat
x ./sync/start.sh
x ./sync/stop.sh
x ./sync/sync
x ./sync/syncd
x ./sync/TOS.txt
$

Start Sync Daemon

Sync Daemon (syncd) is the sync engine. It is a background process that handles Sync API requests and synchronizes storage. Run start.sh in Sync Toolkit to begin running syncd in the background.

$ cd sync
$ ./start.sh 
Starting Sync Daemon

Started on port 26511
$
C:\toolkit> cd sync
C:\toolkit\sync> start.bat
Starting Sync Daemon

Started on port 26511
C:\toolkit\sync>
$ cd sync
$ ./start.sh 
Starting Sync Daemon

Started on port 26511
$

Start Sync Shell

Sync Shell (sync) is an interactive command-line interface for configuring and managing the Sync Daemon. Run sync in Sync Toolkit to start the interactive shell. Enter Control-D to exit the shell.

$ ./sync
sync>
...

<CTRL-D>
$
C:\toolkit\sync> sync
sync>
...

<CTRL-D>
C:\toolkit\sync>
$ ./sync
sync>
...

<CTRL-D>
$

Setup Sync

Use the mounts subcommand in sync shell to specify which folders to keep in sync with which cloud folder. Each mapping between a local and remote folder is called a mount. The remote folder is a path in the storage that you have previously connected using the explore toolkit from the Explorer Toolkit.

$ mkdir /Users/terrence/pictures
$ ./sync
sync> mounts add /Users/terrence/pictures /dropbox/mydropbox/photos hourly
Mount registered and activated.
sync>

Monitor Sync

Sync automatically uploads and downloads changes. To see current progress, run the monitor subcommand in the sync shell.

$ ./sync
sync> monitor
Refresh: 0 waiting, 1 active
Upload: 0 waiting, 0 active
Download: 3 waiting, 7 active
Pending: 0 refresh, 0 conflict, 0 upload, 0 download, 0 trash

11.png                          Downloading 22636 (10%)
1375060936145474.jpg            Downloading 20207 (90%)
Brave Frontier inf.xlsx         Downloading 516986 (51%)
CSharp_VFS_API_.doc             Downloading 89088 (45%)
Folder 2                        Downloading - (15%)
Case Folder 31                  Downloading - (0%)
python-2.7.14.msi               Downloading 19238912 (0%)
untitled folder                 Refreshing folder
Case Folder 32                  Waiting to download
Case Folder 33                  Waiting to download
Case Folder 34                  Waiting to download

Refresh Sync

Sync is automatic but not real-time. Use the refresh subcommand to find and sync changes in a folder.

$ ./sync
sync> refresh /dropbox/mydropbox/photos
Refresh requested. Use "monitor" command to see progress.
sync>

Manage Trash

Local files you delete are not deleted in the cloud until you're ready. Use the trash subcommand to recover or delete files.

$ rm /Users/terrence/pictures/file1.jpg
$ ./sync
sync> trash list
file1.jpg 835603 /Users/terrence/pictures/file1.jpg

Total: 1
sync> trash delete
Delete requested. Use "monitor" command to see activity.
$

API Access

Use the Sync REST API to configure and manage sync from your application. Please refer to the Sync API reference for available endpoints.