Though I am sure that there are more, I can think of at least four ways to backup a Drupal site:
* Drush's 'archive-dump' (ard) command
(Backup your code, files, and database into a single file.)
* The 'Backup and Migrate' (B&M) module
(simplifies the task of backing up and restoring your Drupal database)
* Use a "version control system" (VCS)
* Use 'rsync'
B&M allows automatic scheduling of backups ... definitely an advantage. 'ard', on the other hand requires manual, 'cron' or scripted invocation.
*I* seem to favor 'ard' since it backs up *code and files* along with databases. B&M, apparently, only backs up databases.
Another approach might be using a VCS (e.g., 'git', 'subversion', _et al_) ... or keep synchronized copies with 'rsync'. (These two, however, seem more suited for maintaining "development" and "production" versions of a site than for backing up.)
How do *you* periodically backup your site(s)?
Thanks for your comments!
-Kenneth