I’m using BackupPC to make backups from one computer to another. Usually no big deal, but between the two machines there’s a VPN connection across two dialup connections and 450 km air line. So, there is a maximal usuable bandwidth of about 1 Mbps between both locations. The problem was now: host A (the machine which is backupped) was initially backupped by host B (the machine running BackupPC) when host B was still located right beside host A. In the meantiime host B has been moved to its remote location and there I excluded one or the other directory in the following backup. Now I wanted to include them again, thinking that BackupPC is clever enough to realize that those directories are already in the backup #0.
Sadly, BackupPC seems to just compare the latest full backup without considering the partial backup, that was filled during the last 14 days over the 1 Mbps link. So BackupPC began to pull all the 200 GB of data again, although it already got roughly 180 GB in the partial backup. The cause for the partial backup was a longer connection timeout between the two dialup hosts.
Because I don’t wanted to pull all 180 GB again and again and again, I looked for another solution for the problem. And it is quite simple. Given are a full backup #0 and another backup #7. #0 is the initial, complete backup before the relocation. Backup #7 is the backup after the relocation where I omitted some directories that contains 200 GB of data. Backup #8 is the partial backup. What I now did was this:
- in /var/lib/backuppc/pc/host_A/ I created a new directory for backup #9 by issueing ‘cp -al 0 9‘
- next, copy the content of the other valid backups the same way
- edit 9/backupInfo and change the number of the bakcup like this: ‘num’ => ‘9’
- add another line in pc/host_a/backups for backup #9
- start another full backup of host A from the webinterface in BackupPC on host B again
BackupPC will now base its freshly started full backup on the directory contents of backup directory 9. When the backup finished, you can delete that backup directory #9 again. This works quite well for me and the transfer with rsync. Maybe there are other methods dealing with that problem. Feel free to leave some comments.