snsync: Synchronize files with sneakernet

snsync is a utility to synchronize files between two computers. It uses removable storage media, like a USB drive or rewritable CD, to allow synchronization between two computers which may not have a network connection between them.

How to synchronize my files?

When I use multiple computers to create things, I find myself wanting to synchronize what I am working on across each computer. If the computers are both connected to a network, you can use rsync or unison to synchronize the files. If the computers are both connected to the internet, you can use a service like spideroak or dropbox to synchronize the files. But if at least one of the computers is not connected to a network, or if you simply don't want to use one of the aforementioned internet services, or if you think setting up rsync is too complicated, then snsync is the way to do it.

Download snsync

Download snsync by clicking the link.

How to install snsync

Python version 2.6 or 2.7 must be installed prior to installing or running snsync. Download and install the Python program for your system by following the link. Some systems split python into many packages; on these systems some extra packages like python-tk and others may need to be installed -- if you run the program from the command line, the error messages will tell you which packages are necessary.

Okay, so Python is installed. To install snsync, extract the contents of the compressed file to a folder, and from that folder, run the following command in a terminal: python setup.py install On windows, you will probably have to include the full path to the Python executable, like below: C:\Python27\python.exe setup.py install

You may run the program without installing it by running the file snsync_tkui.py , for example by double-clicking it in the file explorer.

You could easily alter the snsync sources to run on Python 3 if you needed to by running the 2to3 conversion utility on each of the snsync, snsync.py, snsync_tkui.py, and setup.py files, but that is a more advanced operation.

How to use snsync - the first synchronization

Insert your removable storage device and create a new folder on it. We will call this folder the transfer directory. And we will call the folder on your computer containing files you want to synchronize the local directory.

Run snsync by executing the snsync binary file from its installed location. If you prefer the command line interface, you may run the snsync.py file directly.

Select the appropriate local and transfer directories (explained above) and click the button. Click the sync button to copy the necessary files to the transfer directory. When that is done, safely remove the removable drive, and take it to the second computer.

At the second computer, install and run snsync, then choose the same transfer directory from your portable storage device, and choose a newly-created directory on that second computer.

How to use snsync - the rest of the time

Run snsync by using the same directories that you used before. Use one transfer directory for each local directory you synchronize. The directories you use must be the same because there is a file stored within them named .ssdb that contains the information necessary to successfully synchronize the data.

Where to ask a question about snsync

Ask any question on the mailing list, which is linked from the snsync project page.