Eu não acho que você pode fazer muito melhor do que o que você tem. Eu provavelmente usaria algo como o seguinte:
- crie o despejo do banco de dados
- gzip ou compactá-lo (tecnicamente opcional)
- use
scpoursyncpara copiar o arquivo para outro servidor - executa uma soma de verificação no servidor remoto para verificar a cópia (opcional)
- excluir o despejo original do banco de dados (opcional)
- envie um e-mail indicando sucesso
Ou se qualquer etapa deste falhar, saia e envie imediatamente um email explicando a falha. (Suponho que você tenha as ferramentas necessárias disponíveis, por exemplo, rsync ou scp , sha1sum ou md5sum , gzip , mail ou sendmail ou equivalente)