I\'ve got quite a few machines with quite a few directories that I want to keep
ID: 658360 • Letter: I
Question
I've got quite a few machines with quite a few directories that I want to keep in sync. For example, I have /var/backups on some servers that I want to take a copy of on a nightly basis. rsync is a tool I've been used so far, and initially sounds like a natural choice, because I need the following;
Synchronization of directories over WAN connections (eg, home server to sync with public web server)
Easily available in repositories for most Linux distributions (big bonus, makes updating easy)
Incremental transfers
Works without any additional ports (just SSH/22) open
I'm running rsync as a standard cronjob at the moment. However, these are the limitations I'm trying to address with a recommendation;
If /var/backups (or wherever I'm copying from) is empty, or if a file cannot be copied due to permissions, I get no warning or notification.
For large directory sync's (eg, 3-4 Tb), it's difficult to see the status of that sync at a glance.
Explanation / Answer
Unison File Synchronizer
Unison is a cross-platform file synchronization tool that allows you to keep two or more replicas of a directory on two or more host machines or disk drives. Some of it's features are:
Synchronizes files between any pair of machines communicating over either a direct socket link or tunneling over an ssh connection
Available in Linux repositories (Debian, Ubuntu, Fedora, Arch Linux, etc...)
Incremental transfers similar to rsync:
Transfers of small updates to large files are optimized using a compression protocol similar to rsync
Works without additional ports1
For the additional requirements in the question:
Displays detailed status through both texual and graphical interfaces
Displays warnings in console window or as an advisory pop-up window
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.