Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote