Programs of Hyper

UniSync

Universal offline/online direcotry sync/diff utility (C++, Multiplatform)

UniSync is a small command line utility with the UniSyncGui graphical frontend to achive the following goals:

Search the differences of two directory structure.

Checks the directories, file sizes, modification times, and file hashes (md5,sha256). You can compare two (same time available) directory contents, or you can even compere two offline directory structures too. UniSync can create a catalog file which contains, the stucture, the sizes, hashes, etc,.. and later comperes it to another directory on a different machine too.

Syncronize two directory structure.

Checks the directories, file sizes, modification times, and file hashes (optional) and syncronioze the differences of the directories.

Offline syncronize two directory structure.

The unisync can even syncronize two directories which can't available same time. The unisync can make a catalog from the OLD directory structure. After you tranfer this small catalog file to the second place where the NEW directory structure is located, the unisync can generate and "update package" to sync the OLD directory to same content as NEW. After you bring back the update package to the OLD directory, the unisync can apply this update. This way you can syncronize two different located not available directories with big amount of data. Of course the "update package" contains the modified and new files only.


Examples

Check the dirrefences of D:\MyPics and X:\MyPicsBackup with SHA256 hashes.

  unisync diff D:\MyPics X:\MyPicsBackup -sha2 -v

Synronize the dirrefences of D:\MyPics and "X:\MyPics Backup" with SHA256 hashes, and be extra verbose.

  unisync sync D:\MyPics "X:\MyPics Backup" -sha2 -vv

Make a catalog (with md5) from A computer's /mydata and compere its to B computer's /mydata and print the dirrerences, extra verbose.

  #On computer A
unisync create /mydata cat:/media/pen/catalog.usc -md5 -vv
  #On computer B
unisync catdiff cat:/media/pen/catalog.usc /mydata -vv

Syncronize the B computer's /backupmydata to A computer's /mydata offline. (using a pendrive)

  #On computer B we create a catalog
unisync create /backupmydata cat:/media/pen/catalog.usc -v
  #On computer A we make an update package
unisync makeupdate /mydata cat:/media/pen/catalog.usc update:/media/pen/update_mydata -v
  #On computer B we apply the update package
unisync applyupdate /backupmydata update:/media/pen/update_mydata -vv

Synronize of D:\Works and X:\BackupWorks with SHA256 hashes, excluded .git directories

  unisync sync D:\Works X:\Backupworks -sha2 -excld=".git" -vv

Synronize of D:\Pictures and X:\BackupPictures without hash, excluded Thumbs.db files, check the modification times too.

  unisync sync D:\Pictures X:\BackupPictures -nohash -exclf=Thumbs.db -mtime

Screenshots

unisync screenshot 1 unisync screenshot 2

Download

UniSync (Console) Source code v0.961 (2014.11.12) Win/Linux
UniSyncGui Source code v0.911 (2014.10.15) Win/Linux
The unisync gui source doesn't contains the unisync sources.
Requirements for GuiSync: C++ compiler
Requirements for GuiSyncGui: C++ compiler, Qt


UniSync Win32 binary UniSync console only, Windows binary v0.961 (2014.11.12)
UniSyncGui Win32 binary UniSync console + UniSync GUI, Windows binary v0.961+v0.911 (2014.11.12)
Author: Péter Deák
License: GPL v2
Contact Email: emailaddrat gmail.com