Difference between revisions of "Unison"

From ArchWiki
Jump to: navigation, search
m (Fixed some typos i.e. unision or unsion)
m (deleted one link which was broken and changed link and corrected a typo in ~/.unison/default.prf ( previosly ~/.unison/default.perf))
Line 18: Line 18:
 
  $ unison-gtk2
 
  $ unison-gtk2
 
Else, edit the default config file:
 
Else, edit the default config file:
  # nano ~/.unison/default.perf
+
  # nano ~/.unison/default.prf
  
 
First define the root of what you want to sync:
 
First define the root of what you want to sync:
Line 53: Line 53:
 
==External Links==
 
==External Links==
 
*[http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#afterinstall Official User Manual and Reference Guide, Section "Running Unison"]
 
*[http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#afterinstall Official User Manual and Reference Guide, Section "Running Unison"]
 
*[http://www.endperform.org/2007/07/howto-backup-and-sync-with-unison/ HOWTO: Backup and Sync with Unison], ''[http://www.endperform.org endperform.org]''
 

Revision as of 14:14, 30 August 2010

Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

Not only can Unison sync between Windows and Unix ( OSX, Solaris, Linux etc.) systems, it also unrestricted in terms of which system can be the host.

Common uses include syncing configuration files, photos, and other content.

Installation

# pacman -S unison

This provides an cli, gtk(2) frontend

Configuration

In order to use Unison you need to create an profile, you can use a GUI or you can manually create a profile in Template:Filename.

If you want to use the GUI, run:

$ unison-gtk2

Else, edit the default config file:

# nano ~/.unison/default.prf

First define the root of what you want to sync:

root=/home/user/

Then define the root where sync it too:

root=ssh://example.com//path/to/server/storage

Optionaly, you can give arguments to ssh:

sshargs=-p 4000

Now you are going to define which directories and files to include in the sync

# dirs
path=Documents
path=Photos
path=Study
# files
path=.bashrc
path=.vimrc

You can also define which files to ignore:

ignore=Name temp.*
ignore=Name .*~
ignore=Name *.tmp

For further references check the Unison documentation.

Usage

When your profile is setup you can start syncing:

$ unison <profilename>

Or:

unison-gtk2

And select the profile. Unison has a nice interface where you can view the progress and changes.

External Links