Last Updated on June 23, 2023
Summary
Unison is a reliable and mature file synchronizer. It offers an incremental backup solution. Unison can be deployed to synchronize files between systems running different operating systems, to backup systems, or as part of a content deployment system, among a plethora of other use cases.
Unison offers both console and graphical versions. Unison can be setup to run on a schedule. This can be done by uses the “cron” scheduler.
You can set it up so any change on either file system is automatically replicated to the other side. Unlike rsync, it’s not just a one-way synchronization. Unison synchronizes in two directions at one time, while rsync only goes in one direction. And Unison is capable of one-way synchronization as required.
Unison definitely warrants inclusion in our Essential System Tools. While Unison is no longer under active development as a research project, it’s still maintained and supported software.
Website: www.cis.upenn.edu/~bcpierce/unison
Support: FAQ, GitHub Code Repository
Developer: Benjamin Pierce leads the Unison project. The current version of Unison was designed and implemented by Trevor Jim, Benjamin Pierce, and Jérôme Vouillon, with Alan Schmitt, Malo Denielou, Zhe Yang, Sylvain Gommier, and Matthieu Goulay
License: GNU General Public License v3.0
Unison is written in OCaml. Learn OCaml with our recommended free books and free tutorials.
Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Other Features
Page 4 – Summary
All the essential tools in this series:
Essential System Tools | |
---|---|
Alacritty | Innovative, hardware-accelerated terminal emulator |
BleachBit | System cleaning software. Quick and easy way to service your computer |
bottom | Graphical process/system monitor for the terminal |
btop++ | Monitor usage and stats for CPU, memory, disks, network and processes |
catfish | Versatile file searching software |
Clonezilla | Partition and disk cloning software |
CPU-X | System profiler with both a GUI and text-based |
Czkawka | Find duplicate files, big files, empty files, similar images, and much more |
ddrescue | Data recovery tool, retrieving data from failing drives as safely as possible |
dust | More intuitive version of du written in Rust |
f3 | Detect and fix counterfeit flash storage |
Fail2ban | Ban hosts that cause multiple authentication errors |
fdupes | Find or delete duplicate files |
Firejail | Restrict the running environment of untrusted applications |
Glances | Cross-platform system monitoring tool written in Python |
GParted | Resize, copy, and move partitions without data |
GreenWithEnvy | NVIDIA graphics card utility |
gtop | System monitoring dashboard |
gWakeOnLAN | Turn machines on through Wake On LAN |
hyperfine | Command-line benchmarking tool |
HyFetch | System information tool written in Python |
inxi | Command-line system information tool that's a time-saver for everyone |
journalctl | Query and display messages from the journal |
kmon | Manage Linux kernel modules with this text-based tool |
Krusader | Advanced, twin-panel (commander-style) file manager |
Nmap | Network security tool that builds a "map" of the network |
nmon | Systems administrator, tuner, and benchmark tool |
nnn | Portable terminal file manager that's amazingly frugal |
pet | Simple command-line snippet manager |
Pingnoo | Graphical representation for traceroute and ping output |
ps_mem | Accurate reporting of software's memory consumption |
SMC | Multi-featured system monitor written in Python |
Timeshift | Reliable system restore tool |
QDirStat | Qt-based directory statistics |
QJournalctl | Graphical User Interface for systemd’s journalctl |
TLP | Must-have tool for anyone running Linux on a notebook |
Unison | Console and graphical file synchronization software |
VeraCrypt | Strong disk encryption software |
Ventoy | Create bootable USB drive for ISO, WIM, IMG, VHD(x), EFI files |
WTF | Personal information dashboard for your terminal |