Clone system and auto replicate the changes

I would use rsync with SSH keys over the network and set it to run frequently with cron. This way, only the changes need to be transmitted.

Format taken from how do I do mass installs?

#!/bin/bash
rsync -avx --exclude=/proc --exclude=/dev --exclude=/tmp --exclude=/sys --delete-after root@${host}:/ /

On the machine that will serve as a backup, make a file named /etc/cron.daily/backup-pull then make it executable sudo chmod +x /etc/cron.daily/backup-pull. Replace ${host} with the IP of the original system.

You'll have daily syncs of the original server to this one. You could also do cron.hourly instead of cron.daily if you're really paranoid.


Please refer to https://help.ubuntu.com/community/BackupYourSystem/SimpleBackupSuite and https://help.ubuntu.com/community/BackupYourSystem , also Comparison of backup tools .

If you want to only save the changes in packages installed, etc, you can use dpkg --get-selections > installed_packages, and restore those with apt-get update && dpkg --set-selections < installed_packages && apt-get upgrade.

To backup your user files, it is sufficient to copy the /home directory to the remote server, refer to the second link.