Permet de faire un backup de la base ganesha (+ éventuellement de l'envoyer
par email).
Fonctionnalités
Fais un backup automatique de la base au format .sql
Envoie sur demande un backup compréssé à une adresse
email prédéfinie.
Limitations
Ne fonctionne pas sur serveur Windows
Pour fonctionner, votre hebergeur doit avoir autorisé les fonctions
exec() et mail() et avoir laissé la possibilité d'utiliser le
compresseur "tar" et la commande "mysqldump". C'est souvent
le cas, mais pas obligatoire. Si ce n'est pas le cas, je n'y peux rien :-(
Cet addon fait appel à des ressources "externes" (applications
cron, at, ou wget, voire
des sites comme webcron.org), dont je ne suis pas responsable.
Inutile de me contacter pour des renseignements quant au fonctionnement de
ces ressources (notre ami http://www.google.fr/
est là pour ça).
Procédure d'installation
INSTALLATION
Téléchargez le fichier zip
et dézippez-le.
Dans votre dossier "addons", copiez le dossier backupCron et son
contenu
Configurez le fichier backupCron.php (cf. rubrique "Configuration")
Protégez ce dossier (cf. la rubrique "Sécurité")
Vérifiez que vous avez bien les droits en écriture sur le
dossier "sql"
Testez l'addon (cf. rubrique "Utilisation")
Consultez votre email après quelques minutes afin de voir si tout
s'est bien passé.
Enfin, mettez éventuellement en place une procédure d'appel
automatique de ces addresses (cf. rubrique "Automatisation")
CONFIGURATION :
1- Editez au préablable votre fichier /ganesha/inc/config.inc.php, et
relevez les valeurs des variables : $RP['main'], et des 4 variables $BDD['xxx'].
2- Editez maintenant le fichier backupCron.php
3- Dans la partie "Déclaration des variables" :
4- Vous DEVEZ modifer :
$AbsPath = chemin absolu sur le serveur où
seront sauvegardé les backup SQL
Exemple : $AbsPath = "/www/home/monsiteganesha/addons/backupCron/sql/";
ou : $AbsPath = $_SERVER['DOCUMENT_ROOT']."/addons/backupCron/sql/";
Remplacez "/www/home/monsiteganesha/" par la valeur
relevée précédemment pour $RP['main']
et remplacez éventuellement "backupCron" par
le nom que vous aurez choisi lors de la protection.
par les valeurs relevées dans votre fichier config.inc.php
6- Enfin, vous DEVEZ remplacer les valeur des emails ($to
et $from)
Vous pouvez modifier les autres variables, mais cela n'est pas indispensable.
SECURITE
Une personne mal intentionnée connaissant l'existence et l'emplacement
de cet addon, n'aurait aucun problème à récupérer
le dump SQL , c'est à dire le contenu de votre base comprenant
les logs/pass administrateur !
Par conséquent, à vous de protéger son accès par
la manière la plus adaptée. Voici quelques pistes :
Protection par .htaccess ou par l'addon ProtegeRep (l'url
pour y accèder directement sera alors http://login:password@www.monganesha.com/addons/backupCron/backupCron.php?action=nomail
, par exemple).
Vous pouvez protéger l'ensemble de l'addon, ou uniquement le dossier
sql
Renommez le dossier backupCron et/ou le fichier backupCron.php.
Il sera ainsi plus difficile de savoir où se trouve l'addon.
N'utilisez pas d'adresse email trop "publique".
La base étant envoyée par mail, si d'autres personnes ont accès
à votre mail ou la machine sur laquelle vos messages sont stockés,
elles auront aussi accès à votre base.
Utilisation
Il vous suffit d'appeler dans votre navigateur l'une des url suivantes :
(en remplacant évidement "backupCron" et "backupCron.php"
par les noms que vous aurez retenus si vous les avez changés !)
http://www.monganesha.com/addons/backupCron/backupCron.php?action=nomail Pour créer un dump de votre base dans le dossier backupCron/sql
http://www.monganesha.com/addons/backupCron/backupCron.php?action=mail Pour effacer les anciens dumps, en créer un nouveau, et vous
l'envoyer par email.
Pour info, omettre le "?action=xxxx" à pour effet de... ne
rien faire ! Aucun dump, aucun envoi. "C'est une fonctionalité,
pas un bug !"
Automatisation
<<C'est bien beau, tout ça, mais phpMyAdmin fait cela très
bien, le dump d'une base !>>
En effet, l'intérêt de cet addon est qu'il soit appelé
régulièrement et automatiquement.
Voilà quelques pistes :
Si vous avez à votre disposition un serveur allumé
24H/24 7j/7, vous pouvez utiliser les services "cron"
(Linux) ou "at.exe" (Windows) pour déclencher
l'appel automatique de ces pages web à heures programmées (grâce
par exemple à l'utilitaire "wget"
disponible pour les 2 systèmes d'exploitation).
Sinon, vous pouvez utiliser un service en ligne comme webcron
http://www.webcron.org/
, site auquel je ne suis lié d'aucune façon, mais qui fonctionne
correctement depuis longtemps. Si vous en connaissez d'autres, je suis preneur
!
Une inscription préalable est nécéssaire, ensuite vous
pourrez (rubrique "Mes tâches", "Nouvelle tâche")
indiquer vos URL et leur fréquence d'éxecution (les champs logs/pass
ne servant que si votre addon est protégé par .htaccess)
N'oubliez pas : à chaque fois que vous appellez le
fichier http://www.monganesha.com/addons/backupCron/backupCron.php?action=nomail
un nouveau fichier .sql contenant les données de votre base est créé.
Par conséquent, vous avez interêt à faire des "roulements"
entre ?action=nomail et ?action=mail (qui efface les anciens fichiers .sql)
si vous ne voulez pas que votre espace web soit rempli par vos sauvegardes
!
Une "bonne" utilisation peut être :
une sauvegarde avec ?action=nomail toutes
les nuits
une sauvegarde avec ?action=mail une fois
par semaine.
De cette façon, vous aurez toujours accès à une sauvegarde
d'hier et un sauvegarde à j-7 (puis j-14, j-21, etc...)