Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Synchronize local folder with a central repository

Project Description

Keep a folder in sync on several hosts using a central server. Heavily inspired by DropBox.

Usage

Initialize a server repository:

ssh server.example.com
mkdir repo.mf; cd repo.mf
mf init -s

Initialize a client repository:

mf init server.example.com:repo.mf

Synchronize:

mf sync

How it works

The server keeps a list of incremental versions (file metadata) and a hashed blob store (file contents). Clients synchronize by uploading local changes, the server appends them to its version history, and sends back a list of changes made by other clients.

Synchronization happens over SSH and is invoked manually. Don’t think about touching any file during a sync because you will lose your data.

Usually files will be smoothly added and removed by clients, but if there is a conflict, MagicFolder will rename one of the versions. You should best know to solve the conflict; when you’re done, simply remove the extra file.

Issues and caveats

While MagicFolder is intended to back up data by replicating on several hosts, and the author uses it routinely, be warned it’s alpha-quality. In particular there is no provision for detecting changes to files during synchronization or recovering from errors. The client-server chatter protocol is also in flux, so be sure to use the same version of MagicFolder on both client and server.

Release History

Release History

This version
History Node

0.2

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
MagicFolder-0.2.tar.gz (12.2 kB) Copy SHA256 Checksum SHA256 Source Jul 26, 2010

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting