So I recently purchased two cheap 250 GB external USB hard drives. I plan to use them solely for backing up both my Mac and Windows PC. I plan to keep one unit at the house and the other off-site. Either at my office or maybe ship it to my Dad’s for safe keeping.
I’ve been looking around for the best ways to backup both systems to the same hard drive. My problem is that I want to the solution to be simple and robust. Ideally, I’d like to be able to plug the hard drive into either computer and back the other up. I’d like to be able to see the files from both OS’s at the same time. I’d like to do daily, weekly, monthly backups with incremental and compression. It would be nice to also mirror the boxes so that I have a bootable device as well.
I know that I won’t get all that with just one solution (and basically 1 drive). I’m going to try a few things and see what works so this post is basically just to document some initial finding to see what I may want to try.
I found the following on the forums at OSXFAQ:
Under Panther, the command line diskutil
tool has an option entitled “MBRFormat” for its “partition” verb, which writes the MBR in DOS/Windows format.
In other words, if you have a disk which is accessible through the device node /dev/disk1, and you wish to partition it into two 80GB partitions – one FAT32 and one HFS+J, you do it as follows:
Code:
diskutil partitionDisk /dev/disk1 2 MBRFormat MS-DOS DosDrive 80G "Journaled HFS+" MacDrive 80G
This would allow my to plug the drive into either type of computer and copy the data over using some method. On the Mac I’d be able to see both file system types, but without some commercial software like MacDrive I would only be able to see the FAT32 partition on the PC. I could leave the drive attached to the Mac and copy the files over the network from the PC. I’d then be able to restore directly if I needed to. I’d need some software on the Mac to make this work.
One really neat solution (that is probably overkill for me) is called BackupPC.
BackupPC is a high-performance, enterprise-grade system for backing up Linux and WinXX PCs and laptops to a server’s disk. BackupPC is highly configurable and easy to install and maintain.
Given the ever decreasing cost of disks and raid systems, it is now practical and cost effective to backup a large number of machines onto a server’s local disk or network storage. This is what BackupPC does. For some sites, this might be the complete backup solution …
BackupPC is written in Perl and extracts backup data via SMB using Samba, tar over ssh/rsh/nfs, or rsync. It is robust, reliable, well documented and freely available as Open Source on SourceForge …
BackupPC Features:
- A clever pooling scheme minimizes disk storage and disk I/O. Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.
- One example of disk use: 95 laptops with each full backup averaging 3.6GB each, and each incremental averaging about 0.3GB. Storing three weekly full backups and six incremental backups per laptop is around 1200GB of raw data, but because of pooling and compression only 150GB is needed.
- Optional compression support further reducing disk storage. Since only new files (not already pooled) need to be compressed, there is only a modest impact on CPU time…
I’ve also looked at
- rdiff-backup which uses rsync like methods plus incremental backups (even of binary files) but they don’t have good windows support yet
- SuperDuper which is a free/shareware Mac application that will make a mirrored bootable drive as well as has other backup modes.
- An article about HOWTO: Backup Your Mac With rsync which I’ve used before
- Dirvish which is a set of scripts for rsync based backups
- A script for copying opened files on Windows XP and 2003 Server (it uses VSS)
- An article from LifeHacker about how to backup your PC (with a software recommendation).
I will probably start with just partitioning my disk into two sections and doing a basic copy to get things going and experiment from there. Once I finally get a solution that I like I’ll be sure and update everyone, and if you have a particular solution that you like, please leave me a comment.