Sauvegarder un hébergement mutualisé

Sur les offres d'hébergement mutualisé, les sauvegardes automatiques ne sont pas toujours actives ou proposées. Pour sauvegarder le contenu du site et les données de la base sur 7 jours glissants, nous allons utiliser un script PHP. Il ne restera qu'à configurer une tâche planifiée (cron), pour que le script s'exécute chaque nuit.

 

<?php

// Configuration
$DBhost="adresse_du_serveur_de_la_base_de_données";
$DBuser="nom_utilisateur";
$DBpass="mot_de_passe";
$DBname="base_de_données";
$rootdir="chemin_du_répertoire_racine_contenant_le_site";
$archdir="chemin_du_répertoire_de_sauvegarde";
$date = date("w");

// Archivage du site
system("cd ".$rootdir."; tar -czf ".$archdir."site-".$date.".tar.gz * ");

// Dump de la base de données
system("mysqldump -e --host=".$DBhost." --user=".$DBuser." --password=".$DBpass." ".$DBname." > ".$archdir."dump-".$date.".sql");
system("gzip -f ".$archdir."dump-".$date.".sql"); 

exit(0);

?>

 

Si vous souhaitez exclure un répertoire de l'archivage il faut modifier le script de la façon suivante

system("cd ".$rootdir."; tar --exclude='répertoire_à_exclure' -czf ".$archdir."site-".$date.".tar.gz * ");
system("cd ".$rootdir."; tar --exclude='rep1' --exclude='rep2' -czf ".$archdir."site-".$date.".tar.gz * ");

 

Bien évidemment, pour des raisons de sécurité, il est primordial que ce script ne soit pas accessible depuis le web. Il est donc hors de question de placer ce script dans l'arborescence du site. Il en va de même pour les sauvegardes... Je vous laisse en imaginer les conséquences.

Sur les hébergements mutualisés OVH, le chemin du répertoire racine est :

/home/votre_login_ftp

Le répertoire contenant le site :

/home/votre_login_ftp/www

Seul le répertoire "www" est accessible depuis le web. Nous pouvons donc créer, à la racine de notre FTP,  un répertoire "script" pour y accueillir le script PHP, et un répertoire "arc" accueillant les sauvegardes :

/home/votre_login_ftp/script
/home/votre_login_ftp/arc

Il ne reste plus qu'à configurer une tâche planifiée, pour que le script s'exécute chaque nuit.
Pour aller plus loin, il peut être intéressant de récupérer automatiquement les sauvegardes sur un support externe, un PC ou tout autre support.

 

Étiquettes