XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. PHP: Hypertext Preprocessor

MyBackup, sauvegarde des bases MySQL

The 2003-09-17 at 19:24 by Loïc d'Anterroches filed under Scripts and PHP: Hypertext Preprocessor.

Script PHP simple à mettre en place pour la sauvegarde et la restauration d’un nombre illimité de bases MySQL.

Simplicité et efficacité

Les caractéristiques sont les suivantes :

  1. Nombre illimité de bases.
  2. Sauvegarde et restauration des bases en quelques clics de souris.
  3. Traductions possibles dans la langue de votre choix.
  4. Affichage de la taille des fichiers de sauvegarde des bases.
  5. Possibilité de supprimer de vieilles sauvegardes.
  6. Compression des fichiers de sauvegarde pour gagner de la place.
  7. Distribution sous licence GNU GPL.

Pour fonctionner vous devez avoir :

  • PHP 4
  • mysqldump programme installé sur tous les serveurs sous linux ayant MySQL.
  • gzip si vous voulez la compression de vos fichiers d’archives. Ne marche que sur un système unix/linux pour le moment.

Pour ceux que cela intéresse, il marche très bien pour moi chez OVH.

Installation

Vous constaterez par vous-même que le système est très simple à mettre en place. Voici la procédure à suivre.

  • Copiez les fichiers de l’archive dans un répertoire protégé de votre serveur.
  • Modifiez le fichier config.inc.php pour qu’il corresponde à vos besoins.
  • Testez sur une base de données de test.
  • Amusez vous !

Exemple de configuration

Voici un exemple de configuration chez OVH mon hébergeur.

OVH propose des hébérgements mutualisés sous linux. Donc cela devrait correspondre à une configuration linux standard.

Ouvrez le fichier config.inc.php dans votre éditeur de texte favori. Vous trouverez cela ou presque.

 // START CONFIGURATION HERE //

 $this->lang        = 'fr';  // put "en" if you want English
 $this->archivepath = '/home/login/mybackup/files/';
 // $this->archivepath = 'd:\\\www\\\mybackup\\\files\\\'; 
 // this folder must be free of any files. ie: nothing in this folder before use

 $this->mysqldump = 'mysqldump'; // Complete path to mysqldump
 $this->mysql     = 'mysql';     // Complete path to mysql
 $this->gzip      = true;        // Use of the gzip program to compress the archive files

 $this->nbdatabase = 1;

 $this->server[1]   = 'sql';
 $this->database[1] = 'loginXXXX';
 $this->user[1]     = 'loginXXXX';
 $this->password[1] = 'XXXX';

 // STOP CONFIGURATION HERE //

J’ai mis en évidence les parties à changer. Tout d’abord le archivepath doit être un répertoire sur votre serveur. Ne le mettez pas dans votre répertoire www. Ensuite vous n’avez qu’à renseigner les informations sur votre base de données.

Vous pouvez remarquer qu’il n’y a pas un chemin complet vers mysql et mysqldump. En général vous n’avez pas besoin d’utiliser le chemin complet pour ces programmes.

Si vous avez des commentaires et des améliorations à apporter, vous pouvez toujours mes les envoyer, les contributions sont toujours les bienvenues.

Télécharger MyBackup.


Comments from readers

Michel_33 said:

Le script ne fonctionnait pas sous PHP5, je l'ai donc modifié.

ex: balise <? remplacées par <?php
les variables n'étaient pas récuprées dans $_GET ($cmd, $archive,$ok,$base)

Si cela vous interesse, je peux vous faire parvenir la source modifiée

hm19000 said:

il n'as pas marché

CPL said:

Bonjour,

J’ai un problème de variable non définie lors de l’exécution de mon script.
N’étant pas un expert en la matière, je sollicite votre aide si vous le voulez bien

Cordialement,

Christian Plent

MySQL OnLine Backup System

Notice: Undefined variable: cmd in d:\site\backup\index.php on line 28
Bases à sauvegarder :
• test

Vous pouvez faire les restaurations des bases suivantes :
Vous pouvez supprimer ces backups pour récupérer de la place :

Messages de statut :
MySQL OnLine Backup System © 2001-2003 loïc d'Anterroches (xhtml.net)
Made under the GNU GENERAL PUBLIC LICENSE (gnu.org)

Jon said:

Not bad but I prefer PHPMyExport. As least, it doesn't require mysqldump and the new version is totally PHP5 compatible.

Vincent07200 said:

Très bon script. Simple et plus facilement adaptable que PhpMyExport.
Merci beaucoup.

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS