Het is niet nodig om PHP te betrekken bij de databaseback-up. Je hebt alleen een script nodig dat gebruikmaakt van mysqldump om een back-up van de database te maken en een CRON-taak in te stellen om het script periodiek uit te voeren:
mysqldump db_name > backup-file.sql
...maakt een back-up van uw database naar een bestand, door de uitvoer van de mysqldump om te leiden naar de opgegeven bestandsnaam.
Peter bracht een goed punt naar voren, dat het commando je slechts één dag archivering zou geven - elk archief dat ouder is dan twee dagen zou worden overschreven. Hierdoor zou je een rollend logboek hebben dat zeven dagen teruggaat:
CURRENT_DAY_OF_WEEK=`date '+%u'`
FILENAME="mysqlbackup_"$CURRENT_DAY_OF_WEEK".sql"
mysqldump db_name > $FILENAME
Houd er ook rekening mee dat bestandsmachtigingen van toepassing zijn - kan geen bestand schrijven als de gebruiker die het script uitvoert geen machtigingen heeft voor de map.