I would make tar files for each partition, naming them after the mount point or something. The date may be useful in the filename. You would want to exclude useless stuff or not You could run it using cron automatically.
Here is a script I use, repeating it as necessary in the same file changing the partition to backup and filename should do it. So instead of just backing up / you could do each partition if you want.
Code:
#!/bin/sh
mount /mnt/backup
cd /
NAME=`date +%m-%d-%y`
tar -c . --exclude ./mnt --exclude ./proc --exclude ./var/spool/squid --exclude ./tmp --exclude ./var/tmp | gzip -9 > /mnt/backup/www_backup_$NAME.tar.gz 2>/var/log/messages
ls -l /mnt/backup > /tmp/backuptmp
df /mnt/backup >> /tmp/backuptmp
cat /tmp/backuptmp | mail -s "Backup of WWW complete" root
rm /tmp/backuptmp
umount /mnt/backup
So you would get an email like this...
Subject: Backup of WWW complete
total 7134732
drwxr-xr-x 2 root root 4096 Oct 5 03:52 lost+found
-rw-r--r-- 1 root root 1719996342 Aug 1 11:05 www_backup_08-01-03.tar.gz
-rw-r--r-- 1 root root 1856262536 Sep 1 11:07 www_backup_09-01-03.tar.gz
-rw-r--r-- 1 root root 1854443512 Oct 5 06:06 www_backup_10-05-03.tar.gz
-rw-r--r-- 1 root root 1868098754 Nov 1 07:26 www_backup_11-01-03.tar.gz
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda4 9859540 7167544 2191148 77% /mnt/backup
You might also want to set some different file permissions on the file depending on the situation.