I used Win32DiskImager. This made about my 8 GB SD card an 8 GB image file. But the partition is only about 50-70 MB big (I'm using RaspBMC)
I have two suggestions
- When you create a backup with dd also gzip the file, for me it goes from 3.7GB to 1.5GB you save almost 60%, 2.2GB! That is great deal.
sudo dd bs=4M if=/dev/your_rpi_sd_card | gzip > /home/your_username/image
this way works for me because I create a backup and name it after some time consuming configuration.
- Another approximation that I didn't try yet (I found it after read your question) is to create a differential or incremental backup, you just save what you change.
I hope this helps, your question helps me, because I want to implement differential backups along time ago, now I found a great to tutorial to follow. Thanks
The only save way to make a backup from a complete OS like linux, no matter if it is on a sdcard or on a hard disk, is to make an image from it either with such a windows tools like win32diskimager or with the linux tool "dd".
You surely can also simply copy the content of / to another partition, but this way you'll lose some important things like the Master Boot Record (MBR). The so copied OS will not be bootable anymore.
More information can be found here: http://www.inference.phy.cam.ac.uk/saw27/notes/backup-hard-disk-partitions.html