Unison
From ArchWiki
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.
Contents |
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 ~/.unison.
If you want to use the GUI, run:
$ unison-gtk2
Else, edit the default config file:
# nano ~/.unison/default.perf
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 wich 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:
$ unsion <profilename>
Or:
unision-gtk2
And select the profile. Unison has a nice interface where you can view the progress and changes.