Няма нужда да включвате PHP в архивирането на базата данни. Трябва ви само скрипт, който използва mysqldump за архивиране на базата данни и настройте задание за CRON за периодично изпълнение на скрипта:
mysqldump db_name > backup-file.sql
... ще архивира вашата база данни във файл, като пренасочи изхода от mysqldump към указаното име на файл.
Питър изтъкна добра гледна точка, че командата ще ви даде само един ден за архивиране - всеки архив над два дни ще бъде презаписан. Това ще ви позволи да имате непрекъснат дневник за седем дни назад:
CURRENT_DAY_OF_WEEK=`date '+%u'`
FILENAME="mysqlbackup_"$CURRENT_DAY_OF_WEEK".sql"
mysqldump db_name > $FILENAME
Също така имайте предвид, че ще се прилагат разрешения за файлове - не можете да напишете файл, ако потребителят, изпълняващ скрипта, няма разрешения за папката.