Best of all, it uses incremental backups, which means you can restore from set points in time quite easily. For newbies, I always recommend using Grsync, as it allows a clear view of what’s going on. Advanced users will obviously choose to use Ubuntu's CLI instead. Which option you happen to choose is little more than personal preference.
When using rsync, it's not uncommon to backup to network attached storage (NAS) or even a USB-attached external hard drive. I prefer the NAS option because it's a bit smoother and can be a bit more reliable.
The third option in my list of preferred backup solutions is to use the terminal to manually copy content from your existing Ubuntu installation over to a backup directory located on a NAS or other attached storage. One option, though not the best, is to do a cp -r (copy recursively) option in your terminal, which would then make a copy of one directory to another.
A better alternative to using cp, would be to compress your data a bit more into a tar file. Using something like tar cf– | (cd /to-stuff; tar xvf -) which sends the data into the new backup directory, would do the trick.
One thing to note: Neither of these solutions are nearly as dependable as using rsync. Why? Because if rsync is interrupted for some reason, it can safely resume without creating any hassles.
Cloning your hard drive
The last piece of the puzzle for creating a bulletproof Ubuntu installation is to clone your installation when you first start off. Unlike an incremental backup or a tarball backup via the command line, a clone of your Ubuntu installation is just that, a bootable clone of your current Ubuntu installation. The program that I have personally had success with in this space, is called Clonezilla.
Using Clonezilla is as easy as following the instructions provided on the software's website. Flavors of Clonezilla include Clonezilla Live, a bootable CD or flash drive image, or if you prefer, there is also a server edition called Clonezilla SE.
For the sake of this article, let's assume that you will be using the Live CD for a single workstation. Clonezilla offers two different options, which are great for two unrelated needs. If you bought a new hard drive, you might use Clonezilla's disk cloning to "ghost" the old hard drive contents to the new one. On the other hand, if you're simply looking to make a copy of your hard drive state and its contents, you would then opt for the “save a disk image” option instead.
What makes Clonezilla so awesome is that you don't have to simply clone the entire drive. If you'd rather, you can simply clone your system partition(s) instead, ignoring your home partition altogether. Bundle this with the home partition backup solutions above, and this can be a really great option to consider.
For someone needing a more robust setup, if you need to backup servers or other advanced needs for an extensive LAN, I would point you to AMANDA (Advanced Maryland Automatic Network Disk Archiver) as a more enterprise-friendly solution.
Putting the pieces together
To recap what I've shared in this article, let's begin by putting all of the above pieces together to see how this can make your Ubuntu installation bulletproof.
During a fresh installation, use Clonezilla to backup your system partition(s). This way if something happens to your computer, hard disk, or file system, restoration is quick and easy. In the meantime, I will assume rsync has ensured that your growing home directory, has been kept safe and backed up with all of the incremental details still intact should a disaster arise where your personal data is somehow lost.
On the off-chance that you merely mess up an Ubuntu update in which you would rather simply reinstall everything, a fresh installation of Ubuntu that leaves your dedicated home partition untouched will serve you well. Best of all, you won't have to wait for your home directory to be restored. It's just as you left it, application settings and all.
And that wraps it up. Follow the path above and you, too, will be able to run Ubuntu or any distribution of Linux with greater freedom. No longer will you be plagued by the possibility of messing something up only to have to start over from scratch with a clean installation, lost data and all.