You will see many different choices for this, I have tried SPB and Sprite and I like Sprite Backup the best, their url is
http://www.spritesoftware.com/ and the url for SPB Backup is
http://www.spbsoftwarehouse.com/products/backup/?en so you can take your pick between them.
There are others, I just never tried them.
I use Sprite every time I change my ROM and it saves my butt many times.