PHP-script voor back-up en herstel van een database: Dump maken
Stap 1:
Let op dat grotere databases mogelijk niet meer via een script kunnen worden geback-upt, omdat het script tegen serverbeperkingen kan aanlopen!
De volgende stappen zijn nodig:
1. Maak in de hoofdmap van je domein een submap "backup".
2. Maak in die map een PHP-bestand (db_backup.php) met de volgende inhoud:
<?php
######## instellingen #############################################
$db_name = "LOGINNAME";
$db_passwd = "WACHTWOORD";
$sql_file = "dump_" . $db_name . "_" . date('Ymd_Hi') . ".sql";
####################################################################
exec("mariadb-dump -u $db_name -p'$db_passwd' --single-transaction --allow-keywords --complete-insert --insert-ignore --routines --events --force $db_name > $sql_file");
exec("gzip $sql_file");
$bestand = $sql_file . ".gz";
$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$bestand,$link);
echo "Downloadlink: <a href='" . $link . "'>" . $bestand . "</a>";
?>
LOGINNAME en WACHTWOORD hierboven in de code vervang je door de juiste gegevens voor de database.
Let op:
Stel in het #KAS# voor de back-upmap een mapbescherming in via Tools -> Mapbescherming! Zo bescherm je je databaseback-ups tegen ongeoorloofde toegang.
3. Roep de URL http://www.jouwDomein.nl/backup/db_backup.php op. Het back-upscript wordt gestart, maakt een back-up van je database en slaat deze op als een bestand met de naam bijv. dump_DATENBANKNAME_DATUM.sql.gz in de map „backup“. Het is normaal dat de DB-back-up veel kleiner is dan phpMyAdmin aangeeft.
Support & FAQ doorzoeken