UNISON-2.51+4.13.1(1)

πŸ“¦ version 2.51.5, in debian bookworm, ubuntu jammy

πŸ’– UNISON-2.51+4.13.1 πŸ’– a file-synchronization tool for Unix and Windows

okay bestie, sit down, grab a snack, because we're about to make your files ✨match✨ on purpose. this is the manual page for unison-2.51+4.13.1 πŸ¦‹


🌸 SYNOPSIS 🌸

unison-2.51+4.13.1 [options]
unison-2.51+4.13.1 root1 root2 [options]
unison-2.51+4.13.1 profilename [options]

πŸŽ€ DESCRIPTION πŸŽ€

so this page is a lil baby summary of Unison β€” it was written for the Debian GNU/Linux distribution because the original program simply does not ship a manual page 😭. want the full tea? go read the inbuilt documentation, or the manuals chilling in /usr/share/doc/unison-2.51+4.13.1/. also heads up: the unison-2.51+4.13.1-gtk binary takes basically the same command-line options, but it lets you pick and create profiles and configure options from inside the program itself, which is giving main character energy πŸ’…

Unison is a file-synchronization tool for Unix and Windows. it lets two replicas of a collection of files and directories live on different hosts (or different disks on the same host), get modified separately, and then be brought up to date by propagating the changes in each replica to the other. no cap. πŸ”₯

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, no system access and no kernel changes to function β€” she's low maintenance, she's independent πŸ‘‘. 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 (iykyk, slow wifi girlies stay winning πŸŒπŸ’–). Unison has a clear and precise specification, and is resilient to failure due to its careful handling of the replicas and its private structures. she's got stamina. she's not crashing out.

The two roots can be specified using an URI or a path. The URI must follow the convention:

protocol://[user@][host][:port][/path]

and the protocol part can be file, socket, ssh or rsh. periodt. πŸ’…


✨ OPTIONS ✨

okay so important: all Unison options are long, starting with one dash (-) only. no --, bestie, that's just how she is πŸ™ˆ. a summary of options is included here β€” for a complete description, see the inbuilt documentation or the manuals in /usr/share/doc/unison-2.51+4.13.1/.

  • -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
  • -i β€” interactive profile mode (text UI); command-line only
  • -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
  • -atomic xxx β€” add a pattern to the atomic list
  • -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
  • -clientHostName xxx β€” set host name of client
  • -color xxx β€” use color output for text UI (true/false/default)
  • -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
  • -copyonconflict β€” keep copies of conflicting files
  • -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)
  • -fastercheckUNSAFE β€” skip computing fingerprints for new files (experts only!)
  • -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
  • -maxsizethreshold n β€” prevent transfer of files bigger than this (if >=0, in Kb)
  • -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
  • -watch β€” when set, use a file watcher process to detect changes
  • -xferbycopying β€” optimize transfers using local copies (default true)
  • -include xxx β€” include a profile file's preferences
  • -source xxx β€” include a file's preferences
🫢 quick note bestie: some preferences are just boolean flags. others take numeric or string arguments, which is what those n and xxx placeholders mean in the preferences list. and here's the cute part β€” most of the string preferences can be given several times, and the arguments get accumulated into a list internally. stacking her up like little bracelets ✨

🌈 SEE ALSO 🌈

the program is documented fully in the in-built documentation and the manual, available as text in /usr/share/doc/unison-2.51+4.13.1/. go read her, she's thorough πŸ’œ


πŸ‘‘ AUTHOR πŸ‘‘

Options are automatically extracted from unison -help. the rest of this manual page was written by Robert McQueen <robot101@debian.org>, for the Debian GNU/Linux system (but may be used by others). iconic behaviour, honestly.


and that's the whole page, bestie!! πŸŽ€ she's dated July 23, 2020 and she goes by UNISON-2.51+4.13.1(1) in the General Commands Manual section β€” now go sync those files, you absolute legend πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from