Eu uso mysqldump e tar.
Mas o diabo está nos detalhes, e realmente depende das especificidades do seu sistema.
Tenha certeza que você sabe sua codificação: isso deve ser (mas nem sempre) consistente entre seu software CMS (por exemplo, Expression Engine, WordPress, Joomla, o que for), seu framework (ex. PHP), seu banco de dados (eg mysql), e isso inclui, as configurações de agrupamento individuais das tabelas, e as configurações do cliente, (neste caso, mysqldump; para ter certeza, use a opção de linha de comando --default-character-set = utf8, ou qualquer que seja sua codificação) . Se os dados forem codificados de uma forma e você fizer backup para outra codificação e restaurar esse backup, os dados poderão ficar sutilmente corrompidos. Tudo de; personagens engraçados aparecendo para aspas duplas, hifens, caracteres estrangeiros, trema e acentos, etc - no pior caso, strings de texto em campos serializados voltam com maus comprimentos, fazendo com que unserialize () de php falhem.
Uma maneira mais rápida de dizer tudo isso: TESTE seus backups! Freqüentemente!