Ce script détermine la structure des tables d'une base de données, essaie de trouver tout seul les clés primaires si elles n'existent pas (c'est parfois le cas lorsqu'il s'agit de phpBB) et les utilise pour récupérer les enregistrements.
Au fur et à mesure de la récupération des données, tout est sauvegardé dans des fichiers texte compressés.
Lorsque le timeout se rapproche ou lorsque le disque est plein, le script s'arrête de lui-même et affiche un bouton pour que l'on puisse lui dire de continuer la sauvegarde à partir d'où il en était.
Des liens sont affichés pour télécharger les archives compressées mais j'ai préféré éviter d'automatiser leur suppression.
Attention, mon code est phpBB-specific, c'est-à-dire que j'utilise la classe d'astraction de BDD, l'en-tête de page, les sessions, la stratégie de sécurité et quelques tables de phpBB.
Pour installer le script, vous aurez besoin de :
- PhpBB
- Créer la table suivante (n'oubliez pas votre préfixe) :
CREATE TABLE `phpbb_db_backup` (
`table_name` varchar(255) NOT NULL default '',
`offset` int(11) NOT NULL default '0',
PRIMARY KEY (`table_name`)
) |
- Définir la constante qui contient le nom de la table de tracking :
define('BACKUP_TRACKING_TABLE', $table_prefix.'db_backup_tracking'); |
Cela peut être fait dans le script lui-même (au début) ou bien, et c'est ma recommandation, dans le script de phpBB qui est prévu à cet effet (habituellement /includes/constants.php).
- Copier le script dans le répertoire des scripts d'administration (habituellement dans le répertoire /admin de votre forum)
Pour l'utiliser, allez dans l'ACP et cliquez sur le nouveau lien du menu, puis suivez les instructions.
|