10-21-2013 Update: Corrected a few errors in the write-up and fixed the template configuration files.
Introduction
I remotely manage the computers & networks for various family members (parents, siblings, and grandparents). To this end, I currently have router-to-router VPN links consistently established between home networks at five distinct geographic locations. (These links are maintained using OpenVPN running on my OpenWrt-based gateway routers.)
As administrator of this geographically-diverse home network, I need to consistently back up my family’s data in case disaster strikes. While there are many reputable cloud-backup solutions available, I prefer to trust my own skills to manage and protect my (and my family’s) data.
As we all know, a key backup strategy is to have off-site backups. Fortunately, because my VPN spans multiple geographic locations, the off-site backup problem is easy – provided I can periodically synchronize files between computers at different locations. Unfortunately, my VPN links are limited to approximately 300 KB/s due to the limited uplink bandwidth. For me, this is where rsync comes in.
What is Rsync?
Rsync is a tool for *NIX. From the rsync man page, “rsync … [is] … a fast, versatile, remote (and local) file-copying tool.” For me, attractive capabilities of rsync include: