Backing up a Drupal site has always been a tedious process. I've just learned about an easier way.
In the past I've always used this method to backup a Drupal site:
Download and install Drupal's Backup and Migrate Module. Then go to admin > content > Backup & Migrate and follow the directions.
Basically, you can just click a button and backup your entire Drupal database with only the data you want to keep. The unnecessary data from the cache and accesslog tables aren't backed up so the file size of the backups is smaller than it would be if doing a mysqldump.
Here's a screenshot:
There are also options to compress the file before download, or add a datestamp:
The Backup & Migrate modules is one of the best Drupal Modules. I can't imagine going back to the old method. It's great because even clients can backup their own websites. This module doesn't backup the files for you, but it's quick to backup the files over SSH, or just download over sFTP.