You can use the unix tool rsync to do a full backup of your iPod; I've tried it, and it works. Make sure you have another HFS+ volume with enough room for the contents of your iPod. Then all you need to do is type (in the Terminal):
sudo rsync -vaz --stats /Volumes/myiPod /Volumes/backupdisk/iPod
This will take a copy of everything, and put it onto the backup disk (replace backupdisk with the name of your backup disk, obviously!). Mount a clean iPod. Then sync it back with:
sudo rsync -vaz --stats /Volumes/backupdisk/iPod /Volumes/newiPod
This will put a sync copy back onto the iPod. Use sudo, so that you are root, when doing these rsync's. Otherwise, you might not pick up everything. Now, this was actually a pain for me, because of the Firewire bugs under 10.3.5. Make it easy on yourself and find a 10.2.x machine to do this with (which is what I had to do, as it would always crash on my
10.3.5 TiBook). I'm still amazed that 10.3.x has so many bugs with such a critical piece of built-in hardware.
Notes:
Make sure that you are rsyncing to a volume formatted the same way as your iPod. I synced from an HFS+ iPod to an HFS+ drive. It might work between different types, but if you read the man page on rsync, you realize that it will not warn you of any information that will be lost (e.g. HFS permissions and attributes on the way to a FAT filesystem). Better safe than sorry, especially if you use your iPod as data storage, too.
This can be SLOW, especially if you are running into slow Firewire troubles already. You might be able to speed things up using a copy (cp) instead of an rsync, but I haven't tried that. On a 12" snow iBook running 10.2.8, it took at least two hours to restore a 20GB iPod. This should not take this long, and I'm not quite sure what the problem is -- but it did complete successfully!
I did do a sudo rm -rf /Volumes/newiPod/* to make sure the drive was clean. I don't know if this is required, but I don't think so. I did this because I had a failed sync from the 10.3.5 machine still on there. Please let me know of successes or failures with the UNIX command line approach, and good luck.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20040922220411550