É muito fácil escrever um script de shell para fazer isso, e chamá-lo de cron (se você tiver acesso ao cron). Se você não tem acesso ao cron por causa do seu serviço de hospedagem, você pode fazer um arquivo php secreto que você chama de algum outro computador que tenha o cron (eu uso uma caixa Linux em casa para fazer coisas assim).
Tenha em mente que um backup não é realmente um backup até
- Está em vários locais, não apenas no mesmo computador
- Você comprovou que funciona restaurando-o (no site real ou em um site de teste)
Eu backup de um site wordpress por ter um script de shell que consiste em
#!/bin/sh
mysqldump --opt --user=wordpress wordpress > /backup_1/wordpress.db.transfer
tar cvfz /backup_1/wordpress.tar.gz /www/wordpress
Mas, depois, tenho outro processo de backup que copia / backup_1 pela rede para outra máquina remota.