Você precisa ser mais específico sobre o que está tentando fazer backup: as recomendações podem ser diferentes se você estiver fazendo o backup do conteúdo de um servidor de banco de dados, servidor de arquivos, computador desktop e assim por diante. Além disso, como automatizado você quer que seus backups sejam (e, inversamente, o quanto você pode querer interagir com o processo) também é significativo.
Para a grande maioria dos meus backups on-line, uso o rsync para produzir um backup baseado em snapshot, semelhante ao método descrito em esse antigo - mas ainda relevante documento . Se você preferir não criar scripts desse tipo de coisa, há rsnapshot que é baseado nesse artigo e rdiff-backup que usa técnicas similares.
Para backups offline, ocasionalmente, manualmente, executo o mesmo tipo de processo em unidades externas que são temporariamente conectadas a uma máquina apropriada para esse fim. Geralmente isso é feito no servidor de backup, pois são mais fisicamente locais para mim e estão fazendo um backup dos backups mais recentes para economizar tempo e largura de banda.
Ocasionalmente, executo uma comparação completa dos backups de servidores de arquivos mais recentes com os sistemas de arquivos ativos (executando cd /location; find . -type f | sort | xargs sha1sum > /tmp/sums 2>&1
em máquinas ao vivo e de backup e comparando os arquivos resultantes, ainda não automatizei isso para isso) e restaurar os backups do servidor mail + calendar + colab para um clone desse servidor em execução em uma VM. Lembre-se: uma solução de backup não pode ser invocada a menos que seja regularmente testada. Você não quer achar que os backups não estão funcionando no ponto em que você precisa restaurar a partir do backup!