Jump to content

Sauvegarde SIte et BDD


Recommended Posts

Bonjour a tous, je vais sans doute ( comme d'habitude ) vous poser une question idiote mais etant débutant je préfère ...

 

je ne sais pas trop comment fonctionne reellement Prestashop et par extension les sites internet concernant les BDD, et fichier.

 

J'ai vu que Presta permet la sauvegarde de la BDD, a quel moment la faire ? ( je suis en pleine creation de mes categories, articles, ...

a quoi sert reellement la sauvegarde la la BDD? est ce la seule chose a sauvegarder si le serveur plante ?

Je suis heberger chez OVH est ce qu'ils proposent ( je n'ai pas trop vu et je n'y connais rien ...) un systeme de sauvegarde a eux ?

 

Si la BDD n'est pas la seule chose a sauvegarder ( comme par exemple les modifs de code, template, ...) le mieux est je pense d'utiliser mon logiciel de ftp pour sauvegarder l'integralite de mon rep' WWW? exact ? il y aurai t il autre chose a sauvegarder ?

 

Par experience aviez vous sauvegarder en phase de creation et par la suite a quelle frequence ?

 

Merci enormement de votre aide/conseil, je me repete cette question est idiote mais je vous assure que pour moi elle a son intérêt ...

 

Merci bcp

 

CDT

Link to comment
Share on other sites

Bonjour,

 

La sauvegarde de la base de données doit au minimum être faites tous les jours, mais rapidement le serveur n'arrivera pas à sauvegarde une trop grosse base, c'est pour cela que j'ai mis en place un service spécifique pour ce problème.

 

Par contre il faut aussi sauvegarder les fichiers important et qui sont souvent modifiés comme le répertoire overid (à partir de la version 1.4), le répertoire img, et theme. Le reste ne doit pas être touché et donc il suffit de savoir où récupérer les fichier d'origine de Prestashop pour tout remettre en place.

 

Je revient sur un point intéressant de ma prestation de sauvegarde de base c'est qu'il peut être mis en place une sauvegarde déportée sur un autre serveur ce qui peut permettre de récupérer les données même si votre site est HS et le serveur avec.

Link to comment
Share on other sites

Bonjour jeckyl et merci de votre réponse,

 

une bdd trop grosse c'est quoi pour vous ?

comment savoir pour un neophyte que les modif apporte dans prestashop ( instalation/activation de modules, modif de template, ...) ont lieu dans tel ou tel rep' ?

 

comment fonctionne le rep' overid ? j'ai vaguement entendu parler de cette evolution mai scomme je démarre ...

 

MERCI BCP

Link to comment
Share on other sites

Bonjour,

 

la base de données est trop grosse lorsque votre serveur n'a pas assez de temps pour l'enregistrer, donc c'est variable.

 

Modification de template dans theme, les modules dans modules, mais logiquement vous devez avoir les fichiers pour les mettre sur le site donc pas besoin de sauvegarde sauf si vous les modifiez vous même.

 

Pour l'overide cela sert à surcharger le coeur de Prestashop et éviter de modifier les fichiers d'origine de Prestashop.

Link to comment
Share on other sites

ok merci, modifier le coeur de PS a priori cela n'est pas pour moi .. les seuls chose que je risque de changer ces les templates...

la modif de modules peut etre aussi ( pas tout seul car je suis nul ...)

aurai j ebesoin de toucher a ce repertoire pour ne pas avoir a toucher aux rep' d'origine ( themes, modules, ...) ?

 

Je viens d'aller sur mon manager ovh dans la section hebergement/sql, je n'ai pas vu ma BDD, donc pas pu la sauv' ...

j'ai installer presta via ovh et donc la bdd s'est creer et config tt seule ... auriez vous une idee pour la retrouver ?

 

Merci jeckyl

Link to comment
Share on other sites

g vu les 2 options de sauvegarde de base de donne :

ignorer les tables

et supprimer les tables

 

je choisis quoi comme option ?

je suis en phase de creation de site donc tous les jours je rajoute des produits.categories/modules ...

je souhaite faire une sauvegarde quotidienne mais je ne voudrai pas perdre des infos a la reintegration ...

je ne comprend pas ces 2 options en fait ...

Link to comment
Share on other sites

Bonjour

 

Pour sauvegarder ou mieux dit exporter la base de donnée le meilleur moyen est de passer par PhpMyAdmin interface d'accès à la base de donnée, qui permet de visualisé les tables, comprendre lire, modifier.

 

Tout hébergeur digne de ce nom :( vous donne un accès à la base de donnée via PhpMyAdmin, quand vous prenez un hébergement ces information doivent vous être données.

 

Vous pouvez utilise la sauvegarde de la base de donnée vie menu Outil >> base de donnée et faire une sauvegarde total, puis la récupérer sur votre ordinateur via le ftp

 

Wormholesurfer

 

Ignorer les tables de statistique si vous cochez oui les tables décrites ci-dessous ne seront pas sauvegarder

 

Les tables suivantes ne seront PAS sauvegardées si vous activez cette option :

connections, connections_page, connections_source, guest, statssearch

 

Cette option c'est uniquement pendant l'importation

comme c'est marquer drop (supprimer) table if = si elle existe, une base de donné ne peut pas avoir deux tables identiques, donc cocher oui pour que cette inscription drop table if exist soit inscris dans le fichier de sauvegarde.

 

En général quand on importe une base de donnée dans la BDD on supprime celle qui sont dedans avant l'importation.

Supprimer les tables existantes durant l'import enabled.gif Oui disabled.gif NonChoisissez cette option pour que le fichier de sauvegarde contienne des instructions demandant la suppression des tables existantes durant la restauration d'une sauvegarde

(ie. "DROP TABLE IF EXISTS")

 

 

Link to comment
Share on other sites

Merci bcp de votre reponses et multiple precision

 

me conseillez vous donc de sauvegarder via le BO de presta ou via phpmyadmin ?

 

et donc je suppose que je doit cocher supprimer les tables existentes du coup c mieux nan ? si je sauvegarde et reimporte via phpmyadmin est ce que j'aurai acces a cette option ?

 

Merci bcp

Link to comment
Share on other sites

Bonjour,

 

il est préférable de faire la sauvegarde par phpmyadmin mais vous risquez tout de même d'avoir des soucis pour la restauration mais cela est une autre histoire.

 

Il existe des outils pour faire tout cela comme bigdump ou mysqldumper.

Link to comment
Share on other sites

Bonjour

 

Pour l'importation via phpmyadmin par défaut est configuré pour des fichiers de 2Go 2048 Mo, pour augmenter cette capacité d'upload augmenter dans php.ini upload_max_filsize 2 à 8 Go 8192 Mo, exprimer la valeur en Mo.

 

Et comme dit jeckyl la sauvegarde toujours via phpmyadmin.

Pour importer une base de donnée trop au-delà des 2 ou 8 Go j'utilise SqlDumpSplitter fichier exécutable sans installation.

Il découpe en plusieurs fichiers, on peut régler la taille en Mo, en premier il fait un fichier Data_Structure.sql

puis les tables.

 

Data_Structure à importer en premier via phpmyadmin. Ne pas oublier de garder une copie de l'original.

Link to comment
Share on other sites

Bonjour,

 

je lis toujours ici la phrase suivante :"des pertes dans la BDD en la sauvegardant", alors je pose cette question mais comment faites vous pour perdre vos données ?

 

- j'ai 5 boutiques Prestashoop

- un annuaire

- un réseau social de type Facebook

- un forum sample machine

- un blog Joomla

 

je viens actuellement de migrer tous mes sites sur mon serveur personnel, en sauvegardant mes bases mysql et mes fichiers FTP, j'ai pas eu une seule perte de données, même pas une image ou un compte client de perdu.

 

J'ai expliqué ici à plusieurs reprises que mes trois sites de vente de perles sont des bases mysql que j'ai en partie cloné, le fichier img est aussi un clone, bref comment vous faites ?

 

Je suis partie de Prestashop 1.0 pour arriver aujourd'hui à Prestashop 1.3.7 sans problème. De la 1.3.7 je suis passé à la 1.4, puis à la 1.4.2 ces versions ne me conviennent pas, je suis revenu sans problème à la 1.3.7 et sans rien réinstaller, j'ai vidé mysql et le FTP et j'ai remis l'ancien fichier Prestashop et l'ancienne base sans refaire d'installation.

 

J'ai cru pendant longtemps que Prestashop commettait des erreurs, c'est faut ! C'est les utilisateurs qui ne savent pas se servir des outils correctement.

 

Jeckyl a raison un base mysql se sauvegarde tous les jours, on met son sitemap à jour et on transmet les données à google et on fait régulièrement une sauvegarde du FTP.

Link to comment
Share on other sites

Tout le monde a des bases de données grosses et impossible à télécharger pour les sauvegardes mysql.

Pourtant moi je les sauvegarde toutes.

 

Lorsqu'un base est lourde et impossible à importer en entier, c'est facile on la sauvegarde en 2, 3 ou 4 fois. Dossier 1 table de 1à 15, dossier 2 table de 16 à 20 et ainsi de suite.

 

Le fichier FTP img c'est pareil on sauvegarde le sous dossier p, ensuite le sous dossier c et ainsi de suite.

 

Le tout est de se creuser la tête et de réfléchir à trouver une solution. Prestashop sauvegarde tout son FTP et sa base mysql, si eux y arrivent, vous, moi tout le monde qui avons des micro sites par rapport à Prestashop on devrait y arriver, non ?

Link to comment
Share on other sites

Bonsoir,

 

Pour ma part, je viens de découvrir Cobian qui se déclenche seul grâce à une tâche planifiée et qui me sauvegarde mes fichiers (j'ai aussi découvert task scheduler mais je n'arrive pas à le configurer !) Il fait d'abord une sauvegarde complète et par la suite fait une sauvegarde des fichiers modifiers.

Pour ce qui est de la BDD,j'utilise Mysqldumper et une tâche cron. Il fait une sauvegarde sur le site et j'en reçois une copie par mail. Il zippe, découpe... Pour l'instant pas de problème.

Je tente une restauration BDD et fichiers en local la semaine prochaine, histoire de voir si tout est bon). C'est à faire une fois par mois.

Link to comment
Share on other sites

  • 4 months later...

Bonjour Wormholesurfer

Derrière cet anglicisme se cache tout simplement la possibilité de « surcharger » Prestashop,

C’est à dire de redéfinir ce que fait l’application, et sans craindre de perdre ces changements à la prochaine évolution.

 

En effet, ces « surcharges » se situent dans un répertoire /override, vide par défaut dans les versions téléchargeables de l’outil, donc qui ne sera pas écrasé par une mise à jour.

Prenons un exemple pratique, pour voir comment tout cela se décompose.

Pitch : On désire rajouter du contenu avant le footer, dans une zone qu’on appellera « surfooter », indépendante du bas de page.

- 1ère étape : Créer le hook dans la base de données

 

En effet, pour que Prestashop puisse déclencher une action sur un hook, il faut que celui-ci soit référencé dans la liste des choix possibles.

On va ici utiliser PHPMyAdmin pour l’insérer. Rendez-vous dans la table ps_hook (ou toute table finissant par « _hook », selon le préfixe que vous avez utilisé). Cliquez sur Insérer, et complétez comme suit l’écran qui apparaît :

02641439271-150x150.png

Et cliquez sur Exécuter.

Pour les fans du SQL, la commande suivante est équivalente :

INSERT INTO ps_hook (name,title,position,live_edit) VALUES (‘surfooter’, ‘Hook surFooter’, ’1′, ’0′)

- 2ème étape : Positionner le hook dans le code de l’application

 

Dans l’exemple qu’on a choisi, le « surfooter » doit se déclencher juste avant le « footer ». Comment se déclenche le hook « footer » ? Regardons dans le fichier footer.php (logique, non?) :

 

][/color]$controller = new FrontController();

$controller->displayFooter();

Depuis la 1.4, on utilise dans Prestashop des contrôleurs, réunis dans un dossier /controllers, qui contiennent les fonctions utilisées dans les différentes pages.

Regardons le code de la fonction displayFooter dans /controllers/FrontController.php

public function displayFooter()

{

global $cookie;

if (!self::$initialized)

$this->init();

self::$smarty->assign(array(

‘HOOK_RIGHT_COLUMN’ => Module::hookExec(‘rightColumn’, array(‘cart’ => self::$cart)),

‘HOOK_FOOTER’ => Module::hookExec(‘footer’),

‘content_only’ => (int)(Tools::getValue(‘content_only’))));

self::$smarty->display(_PS_THEME_DIR_.‘footer.tpl’);

//live edit

if (Tools::isSubmit(‘live_edit’) AND $ad = Tools::getValue(‘ad’) AND (Tools::getValue(‘liveToken’) == sha1(Tools::getValue(‘ad’)._COOKIE_KEY_)))

{

self::$smarty->assign(array(‘ad’ => $ad, ‘live_edit’ => true));

self::$smarty->display(_PS_ALL_THEMES_DIR_.‘live_edit.tpl’);

}

else

Tools::displayError();

}

La ligne HOOK_FOOTER’ => Module::hookExec(‘footer’) permet de déclencher « les fonctions hookfooter situés dans les modules installés sur la boutique ». Parallèlement, on retrouve dans le template un bloc {$HOOK_FOOTER} qui affichera là ou il est inséré le contenu généré par les fonctions qu’on vient évoquer.

Pour notre « surfooter », il suffirait donc de rajouter :

HOOK_SURFOOTER‘ => Module::hookExec(‘surfooter‘),

Mais (il y a un « mais »), comme on l’a précisé au début de l’article, ces fichiers du coeur de Prestashop seront écrasés à la prochaine mise à jour. On va donc « dupliquer » cette fonction, et créer un fichier /override/classes/FrontController.php, contenant :

//La classe d’origine située dans /classes/FrontController.php s’appelle FrontControllerCore, on utilise donc ici FrontController

class FrontController extends FrontControllerCore

{

//Copie de la fonction displayFooter située dans /classes/FrontController.php, mais avec le "surfooter" en +

//C’est la copie qui prendra la main sur la fonction d’origine appelée dans /footer.php

public function displayFooter()

{

global $cookie;

if (!self::$initialized)

$this->init();

self::$smarty->assign(array(

‘HOOK_RIGHT_COLUMN’ => Module::hookExec(‘rightColumn’, array(‘cart’ => self::$cart)),

//On rajoute l’appel à notre nouveau hook

‘HOOK_SURFOOTER’ => Module::hookExec(‘surfooter’),

‘HOOK_FOOTER’ => Module::hookExec(‘footer’),

‘content_only’ => (int)(Tools::getValue(‘content_only’))));

self::$smarty->display(_PS_THEME_DIR_.‘footer.tpl’);

//live edit

if (Tools::isSubmit(‘live_edit’) AND $ad = Tools::getValue(‘ad’) AND (Tools::getValue(‘liveToken’) == sha1(Tools::getValue(‘ad’)._COOKIE_KEY_)))

{

self::$smarty->assign(array(‘ad’ => $ad, ‘live_edit’ => true));

self::$smarty->display(_PS_ALL_THEMES_DIR_.‘live_edit.tpl’);

}

else

Tools::displayError();

}

}

 

- 3ème étape : « greffer » un module sur notre hook

 

Que l’on souhaite être directement connecté au « surfooter », ou qu’on souhaite les relier ensuite par « Greffer un module », la procédure est la même : il faut déclarer au début du fichier du module que l’on souhaite s’y connecter.

Prenons l’exemple de « Bloc newsletter », (/modules/blocknewsletter/blocknewsletter.php) et de sa fonction install() (présente dans toutes les extensions Prestashop) :

 

if (parent::install() == false OR $this->registerHook(‘leftColumn’) == false OR $this->registerHook(‘header’) == false)

return false;

On voit qu’est utilisée plusieurs fois la fonction registerHook, qui permet de se « référencer » sur un hook précis. On va donc modifier cette ligne ainsi :

 

if (parent::install() == false OR $this->registerHook(‘leftColumn’) == false

OR $this->registerHook(‘header’) == false OR $this->registerHook(‘surfooter’) == false) {

return false;

}

Désormais, à la prochaine installation de ce module (donc par exemple si on le désinstalle/réinstalle), il se branchera sur « surfooter » et cherchera à éxécuter sa propre fonction hooksurfooter(), qu’on va créer pour l’occasion (toujours dans le même fichier /modules/blocknewsletter/blocknewsletter.php) :

 

function hooksurfooter($params)

{

//Mettre ici du code à exécuter dans le surfooter

}

Il faudra bien sur rajouter le bout de code nécessaire dans notre template, par exemple:

 

<div id="surfooter">{$HOOK_SURFOOTER}</div>

 

 

Bien sur, comme toute modification importante sur un template et sur la boutique, il peut être nécessaire de vider le cache Prestashop si les changements n’apparaissent pas.

On peut également utiliser ce procédé pour modifier le fonctionnement d’une fonction du core de Prestashop, sans nécessairement vouloir rajouter un hook, ou « surcharger » un contrôleur, en utilisant le répertoire /override/controllers.

Link to comment
Share on other sites

waow precision de ouf c cool merci !

cependant je doit vous avouer que je suis totallement perdu .. je ne sais pas si j'aurai besoin d'utiliser ce repertoire ...

les seules modif que j'ai fait dans PS est mon themes et la modif de qq lignes de codes sur un module c'est tout .. je ne voudrai juste pas perdre ces modif lors de mises a jour .. est ce que ce repertoire va m'aider ou pas alors ?

 

Merci bcp

Link to comment
Share on other sites

Bonjour, je lis toujours ici la phrase suivante :"des pertes dans la BDD en la sauvegardant", alors je pose cette question mais comment faites vous pour perdre vos données ? - j'ai 5 boutiques Prestashoop - un annuaire - un réseau social de type Facebook - un forum sample machine - un blog Joomla je viens actuellement de migrer tous mes sites sur mon serveur personnel, en sauvegardant mes bases mysql et mes fichiers FTP, j'ai pas eu une seule perte de données, même pas une image ou un compte client de perdu. J'ai expliqué ici à plusieurs reprises que mes trois sites de vente de perles sont des bases mysql que j'ai en partie cloné, le fichier img est aussi un clone, bref comment vous faites ? Je suis partie de Prestashop 1.0 pour arriver aujourd'hui à Prestashop 1.3.7 sans problème. De la 1.3.7 je suis passé à la 1.4, puis à la 1.4.2 ces versions ne me conviennent pas, je suis revenu sans problème à la 1.3.7 et sans rien réinstaller, j'ai vidé mysql et le FTP et j'ai remis l'ancien fichier Prestashop et l'ancienne base sans refaire d'installation. J'ai cru pendant longtemps que Prestashop commettait des erreurs, c'est faut ! C'est les utilisateurs qui ne savent pas se servir des outils correctement. Jeckyl a raison un base mysql se sauvegarde tous les jours, on met son sitemap à jour et on transmet les données à google et on fait régulièrement une sauvegarde du FTP.

 

c quoi un sitemap ? et on envoie quelle donnees a google ?

Link to comment
Share on other sites

  • 1 month later...

Salut,

 

Moi j'ai trouvé un système simple et éfficace. Je me suis rendu sur ce site internet et j'ai tout simplement commandé une sauvegarde plannifié de 8Go pour mon site internet et un ticket Installation de la tâche Cron afin de sauvegarder ma base de données.

C'est vraiment un système intéressant, le prix est très bas et le service de qualité. Le soir même, j' ai pu récupérer ma première sauvegarde.

 

En termes de sécurisé, malgrès que votre base de données a été configurés puis sauvegardé, ils m' ont demandé de passer par une connexion SSL afin de crypter mes données.

De leurs côté, ils cryptent les données sur leurs serveurs et sécurise l' archive de la sauvegarde avec un mot de passe unique.

 

Qu'en pensez vous ? :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...