Database backups met DirectAdmin en PHP

Mededelingen

Wij vinden backups belangrijk. Daarom maken wij bij Sensson elke 4 uur een backup van al uw data, dus ook uw databases. Toch bent u zelf verantwoordelijk voor uw data. Het maken van backups is daarom verstandig. Maar hier kunnen we bij helpen, wel zo gemakkelijk.

De onderstaande code maakt een backup van uw database en slaat deze op als .tar.gz in dezelfde directory als waar het script zich bevindt. Deze code maakt gebruik van de HTTPSocket class welke vrij beschikbaar is via GitHub. Deze class moet opgeslagen worden als httpsocket.php in dezelfde directory als waar u het onderstaande script plaatst.

[php]

//set variables
$username = "username"; // directadmin user
$password = "password"; // directadmin password
$domain = "domein.nl"; // your domain
$database = "username_db"; // database name

// include socket and build class
include_once("httpsocket.php");
$sock = new HTTPSocket;

// open connection and authenticate
$sock->connect($domain, 2222);
$sock->set_login($username, $password);

// get the backup file
$sock->query("/CMD_DB/{$database}.gz");
$data = $sock->fetch_body();

// store the backup file
$backupfile = fopen("{$database}.tar.gz", "w");
fwrite($backupfile, $data);
fclose($backupfile);

echo "Done";[/php]

De bovenstaande code is natuurlijk aan te passen aan uw eigen wensen. Zo kunt u meerdere databases tegelijk bewaren of het bestand laten e-mailen. Met deze code hopen wij u een idee te geven van de mogelijkheden. Door gebruik te maken van cronjobs kunt u dit bijvoorbeeld geautomatiseerd laten uitvoeren.

Heeft u vragen over deze code? Laat ze achter in de comments of e-mail naar info@sensson.net.