Automatiser la sauvegarde de base de données chez free

bandeau_free

Si vous désirez sauvegarder la base de données de vos pages perso free, vous devez passez par l’interface phpmyadmin. Ce qui est assez contraignant. Voici une astuce qui vous fera gagner pas mal de temps.

Pour cela nous allons utiliser la commande wget. Si vous êtes sous Windows il vous faudra l’installer après avoir téléchargé l’installeur.

Il vous suffira ensuite de créer un fichier de commande contenant les instructions suivantes. La ligne surlignée ne doit pas contenir de saut de ligne. LOGIN doit être remplacé votre identifiant free et MOT DE PASSE par votre mot de passe. Attention si vous avez utilisé l’option permettant d’avoir un identifiant différent pour l’accès à la base de données.

Pour les utilisateur Linux seule la ligne surlignée vous sera nécessaire, la partie récupération de la date pour la création du nom de fichier devant être adaptée.

@echo off
REM Generation du nom de fichier
date /t > c:\temp\temp.txt
FOR /F "tokens=1-4 delims=/ " %%i in (c:\temp\temp.txt) do (
set jour=%%i
set mois=%%j
set annee=%%k
)
del c:\temp\temp.txt
REM Commande WGET
set login="LOGIN"
set mdp="MOT DE PASSSE"
cd C:\Program Files (x86)\GnuWin32\bin
wget -E -A zip http://sql.free.fr/backup.php --post-data="login=%login%&password=%mdp%&check=1&all=1&sql_compat=NONE&sql_type=insertcharset_of_file=utf-8&lang=en-utf-8&server=1&convcharset=iso-8859-1&collation_connection=utf8_general_ci&export_type=server&what=sql&header_comment=&sql_structure=structure&auto_increment=1&use_backquotes=1&sql_data=data&hexforbinary=yes&asfile=sendit&compression=gzip&filename_template=%login%-%25Y-%25m-%25d" -O C:\Save\%annee%%mois%%jour%.gz

Vous pouvez ensuite automatiser cette action avec les taches planifiées (Windows) ou cron.

[ Sources ]