Non è necessario coinvolgere PHP nel backup del database. Hai solo bisogno di uno script che utilizzi mysqldump per eseguire il backup del database e impostare un processo CRON per eseguire periodicamente lo script:
mysqldump db_name > backup-file.sql
... eseguirà il backup del database in un file, reindirizzando l'output da mysqldump al nome file specificato.
Peter ha sollevato un buon punto, che il comando ti darebbe solo un giorno di archiviazione:qualsiasi archivio di oltre due giorni verrebbe sovrascritto. Ciò ti consentirebbe di avere un registro progressivo che risale a sette giorni fa:
CURRENT_DAY_OF_WEEK=`date '+%u'`
FILENAME="mysqlbackup_"$CURRENT_DAY_OF_WEEK".sql"
mysqldump db_name > $FILENAME
Tieni inoltre presente che verranno applicate le autorizzazioni dei file:non è possibile scrivere un file se l'utente che esegue lo script non dispone delle autorizzazioni per la cartella.