Projects / bfsync


bfsync is a file-synchronization tool that allows you to keep a collection of big files synchronized on many machines. It is built around a FuSE filesystem, so repositories can be mounted and the contents can be viewed and modified via the mount point. A collection of commands like commit/push/pull/put/get can be used to control bfsyncs behaviour, and trigger data / history transfers between machines. In addition to synchronizing files between many machines, bfsync can also be used to store backups.

Operating Systems

Recent releases

  •  18 Apr 2013 10:04

    Release Notes: This release added a new "bfsync need-upgrade" command, which returns whether the bfsync repository needs to be upgraded to the current bfsync version. Some build problems related to Boost were fixed, as well as issues that caused building on Debian/squeeze to fail.

    •  19 Mar 2013 14:57

      Release Notes: This release adds a bfsync diff command which compares the last and current version of a file stored in a bfsync repository using diff. The filesystem now handles creation of new files without write permission (for instance, cp -a needs this when copying a file which is readonly). Access to the filesystem can now be restricted to a group of processes (this is useful when running backups, to prevent locate indexing the backup fs). The file which was missing in the last release is now included, so the sql-export command should work now.

      •  26 Nov 2012 11:46

        Release Notes: This release improves the performance of the HashCache and reduces its memory usage. It adds an sql-export command to export file lists to PostgreSQL. It adds a find-missing command that shows filenames where file contents are unavailable. It adds a copy-expire command that copies expire tags from a remote repo.

        •  05 Sep 2012 14:35

          Release Notes: This release reduces the memory required for bfsync clone/pull, improves the performance of different parts of bfsync and bfsyncfs, and fixes crash which could sometimes occur during bfsyncfs umount.

          •  17 Jul 2012 13:35

            Release Notes: This release adds automated deletion of old versions via the new "expire" command. This is mainly intended for backups, and allows specifying how long to keep daily/weekly/monthly/yearly backups. It adds manual deletion of the old version via new "(un)delete-version" commands. Conversion of bfsync-0.3.1 to bfsync-0.3.2 repositories can be done using bfsync upgrade. Performance problems during pull/clone when applying diffs with many deletions have been fixed.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.