SYNOPSIS
unison-2.40.102 [options]unison-2.40.102 root1 root2 [options]
unison-2.40.102 profilename [options]
unison-2.40.102-gtk [options]
DESCRIPTION
This manual page briefly documents Unison, and was written for the Debian GNU/Linux distribution because the original program does not have a manual page. For a full description, please refer to the inbuilt documentation or the manuals in /usr/share/doc/unison/. The unison-2.40.102-gtk binary has similar command-line options, but allows the user to select and create profiles and configure options from within the program.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.
Unison offers several advantages over various synchronization methods such as CVS, Coda, rsync, Intellisync, etc. Unison can run on and synchronize between Windows and many UNIX platforms. Unison requires no root privileges, system access or kernel changes to function. Unison can synchronize changes to files and directories in both directions, on the same machine, or across a network using ssh or a direct socket connection.
Transfers are optimised using a version of the rsync protocol, making it ideal for slower links. Unison has a clear and precise specification, and is resilient to failure due to its careful handling of the replicas and its private structures.
The two roots can be specified using an URI or a path. The URI must follow the convention: protocol://[user@][host][:port][/path]. The protocol part can be file, socket, ssh or rsh.
OPTIONS
All Unison options are long, starting with one dash (`-') only. A summary of options is included here. For a complete description, see the inbuilt documentation or the manuals in /usr/share/doc/unison/.- -auto
- automatically accept default (nonconflicting) actions
- -batch
- batch mode: ask no questions at all
- -doc xxx
- show documentation ('-doc topics' lists topics)
- -fat
- use appropriate options for FAT filesystems
- -group
- synchronize group attributes
- -ignore xxx
- add a pattern to the ignore list
- -ignorenot xxx
- add a pattern to the ignorenot list
- -nocreation xxx
- prevent file creations on one replica
- -nodeletion xxx
- prevent file deletions on one replica
- -noupdate xxx
- prevent file updates and deletions on one replica
- -owner
- synchronize owner
- -path xxx
- path to synchronize
- -perms n
- part of the permissions which is synchronized
- -root xxx
- root of a replica (should be used exactly twice)
- -silent
- print nothing except error messages
- -terse
- suppress status messages
- -testserver
- exit immediately after the connection to the server
- -times
- synchronize modification times
- -version
- print version and exit
- -addprefsto xxx
- file to add new prefs to
- -addversionno
- add version number to name of unison on server
- -backup xxx
- add a pattern to the backup list
- -backupcurr xxx
- add a pattern to the backupcurr list
- -backupcurrnot xxx
- add a pattern to the backupcurrnot list
- -backupdir xxx
- directory for storing centralized backups
- -backuploc xxx
- where backups are stored ('local' or 'central')
- -backupnot xxx
- add a pattern to the backupnot list
- -backupprefix xxx
- prefix for the names of backup files
- -backups
- keep backup copies of all files (see also 'backup')
- -backupsuffix xxx
- a suffix to be added to names of backup files
- -confirmbigdel
- ask about whole-replica (or path) deletes (default true)
- -confirmmerge
- ask for confirmation before committing results of a merge
- -contactquietly
- suppress the 'contacting server' message during startup
- -copymax n
- maximum number of simultaneous copyprog transfers
- -copyprog xxx
- external program for copying large files
- -copyprogrest xxx
- variant of copyprog for resuming partial transfers
- -copyquoterem xxx
- add quotes to remote file name for copyprog (true/false/default)
- -copythreshold n
- use copyprog on files bigger than this (if >=0, in Kb)
- -debug xxx
- debug module xxx ('all' -> everything, 'verbose' -> more)
- -diff xxx
- set command for showing differences between files
- -dontchmod
- when set, never use the chmod system call
- -dumbtty
- do not change terminal settings in text UI
- -fastcheck xxx
- do fast update detection (true/false/default)
- -follow xxx
- add a pattern to the follow list
- -force xxx
- force changes from this replica to the other
- -forcepartial xxx
- add a pattern to the forcepartial list
- -halfduplex
- force half-duplex communication with the server
- -height n
- height (in lines) of main window in graphical interface
- -host xxx
- bind the socket to this host name in server socket mode
- -ignorearchives
- ignore existing archive files
- -ignorecase xxx
- identify upper/lowercase filenames (true/false/default)
- -ignoreinodenumbers
- ignore inode number changes when detecting updates
- -ignorelocks
- ignore locks left over from previous run (dangerous!)
- -immutable xxx
- add a pattern to the immutable list
- -immutablenot xxx
- add a pattern to the immutablenot list
- -key xxx
- define a keyboard shortcut for this profile (in some UIs)
- -killserver
- kill server when done (even when using sockets)
- -label xxx
- provide a descriptive string label for this profile
- -links xxx
- allow the synchronization of symbolic links (true/false/default)
- -log
- record actions in logfile (default true)
- -logfile xxx
- logfile name
- -maxbackups n
- number of backed up versions of a file
- -maxerrors n
- maximum number of errors before a directory transfer is aborted
- -maxthreads n
- maximum number of simultaneous file transfers
- -merge xxx
- add a pattern to the merge list
- -mountpoint xxx
- abort if this path does not exist
- -nocreationpartial xxx
- add a pattern to the nocreationpartial list
- -nodeletionpartial xxx
- add a pattern to the nodeletionpartial list
- -noupdatepartial xxx
- add a pattern to the noupdatepartial list
- -numericids
- don't map uid/gid values by user/group names
- -prefer xxx
- choose this replica's version for conflicting changes
- -preferpartial xxx
- add a pattern to the preferpartial list
- -repeat xxx
- synchronize repeatedly (text interface only)
- -retry n
- re-try failed synchronizations N times (text ui only)
- -rootalias xxx
- register alias for canonical root names
- -rsrc xxx
- synchronize resource forks (true/false/default)
- -rsync
- activate the rsync transfer mode (default true)
- -selftest
- run internal tests and exit
- -servercmd xxx
- name of unison executable on remote server
- -showarchive
- show 'true names' (for rootalias) of roots and archive
- -socket xxx
- act as a server on a socket
- -sortbysize
- list changed files by size, not name
- -sortfirst xxx
- add a pattern to the sortfirst list
- -sortlast xxx
- add a pattern to the sortlast list
- -sortnewfirst
- list new before changed files
- -sshargs xxx
- other arguments (if any) for remote shell command
- -sshcmd xxx
- path to the ssh executable
- -stream
- use a streaming protocol for transferring file contents (default true)
- -ui xxx
- select UI ('text' or 'graphic'); command-line only
- -unicode xxx
- assume Unicode encoding in case insensitive mode
- -xferbycopying
- optimize transfers using local copies (default true)
Some preferences are just boolean flags. Others take numeric or string arguments, indicated in the preferences list by n or xxx. Most of the string preferences can be given several times; the arguments are accumulated into a list internally.
AUTHOR
Options are automatically extracted from `unison -help'. The rest of this manual page was written by Robert McQueen <[email protected]>, for the Debian GNU/Linux system (but may be used by others).