Monday, November 26, 2012

Getting backuppc to work after upgrading to Ubuntu 12.04.1 LTS "PRECISE"

I saw the latest notice saying Ubuntu 12.04.1 LTS was available, so I went ahead and bit the bullet and updated. So far, it's been a positive experience, but I'm sure there will be other things I'll find that broken or that need tweaking. Backupppc is just the first thing I've discovered. I've also seen several backup apps available in the Ubuntu Store, but I'm not yet sure which ones will work for my use-case (backing up windows laptop to server at home).

first things first: this is my current install:

# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"


backuppc version: version 3.2.1

This string is available when you log in to the webadmin page.

During the install, i ended up selecting "Install distributor's version" of config.pl. Everything went nice and dandy till I logged in after the reboot. I found that my laptop was listed as before, but none of the backups were displayed.
This was understandable because I had changed the location of the backups from the default.

By default, backuppc wants to install at: /var/lib/backuppc However, I got a 1TB drive much after I had started backing up, so I moved the entire backup to the following path: /mnt/windowsE/backuppc 

YES, that's a windows NTFS partition. I wanted to do that so that I could have access to the data from native windows as well (backup isn't the only purpose for the drive, it's my media store as well, and keeping it windows, simplifies a whole bunch of other things. NFS / CIFS not withstanding)

 SIDEBAR: following is an excellent starting point for doing this switcheroo http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=Change_archive_directory

However, I hadn't followed the instructions exactly: I manually edited /etc/backuppc/config.pl and changed $topDir to point directly to my new location /mnt/windowsE/backuppc.

It turns out that this is not cool per backuppc because the $topDir path in config.pl is "informational" only, and is used for updating. In the internals, the path is actually hard-coded during installation, and this can lead to various funkiness.

The better method is to set the appropriate path right during the initial install of backuppc, but this was not possible in my case. The alternative is to then mount the desired path on the expected location ("if you can't bring the mountain to Mohammad...")

 I set up my /etc/fstab with the following rule:
/mnt/windowsE/backuppc /var/lib/backuppc bind defaults,bind,uid=114,gid=127 0 0


uid=114 and gid=127 correspond to the userid and gropuid of the dedicated backup user on my machine. These can be retrieved using:
# id -u backup_user
114
# id -g backup_user
127


Also, since the default config.pl had been over-written, my backup method was no longer set to rsyncd. I restored these settings from the previous version (Ubuntu update was nice enough to store this as /etc/backuppc/config.pl.ufc-old).

After the above changes, I issued a reboot so that the system starts up cleanly (though I hate doing that!). Plus it let me see if there would be any issues with backuppc starting by itself at reboot.

None occurred and I'm cooking with gas.

No comments: