How is omnisync different?

Created by Stavros Korokithakis on on 2008-07-18
omnisync different
Last updated by:
Stavros Korokithakis on on 2008-07-18

omnisync is not really a "file" synchroniser. It is built to synchronise anything that can be represented as files/directories. It is very easily extensible, all one needs to do to make omnisync support a new transport is to implement a few methods, and all the power of omnisync will be available for that transport.

For example, one could easily turn omnisync into a web spider by implementing an HTTP transport which would represent links as files/directories. One could then run omnisync and have it save a copy of a site somewhere on their hard drive, or in any other transport omnisync supports.

Another useful scenario would be synchronising database tables. One would only have to write a plugin that can read/write to a database and abstract tables as files, and omnisync could synchronise two databases, or backup one database to another destination (be that on the local drive, sftp, s3 or anything else), or restore from that destination to another database.

All this can be achieved simply by implementing open/close/read/write methods that shouldn't take longer than a few hours.