MyBB.support, le portail francophone de MyBB
[Réglé] Sauvegarde automatique BDD - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.support)
+-- Forum : MyBB.fr (https://mybb.support/forum-1.html)
+--- Forum : Support (https://mybb.support/forum-5.html)
+--- Sujet : [Réglé] Sauvegarde automatique BDD (/thread-4542.html)



Sauvegarde automatique BDD - Tlams - 04-08-2011

Bonjour,
Je suis en train de réaliser un système de sauvegarde de la base de données automatiquement.
1- Sauvegarde. (ok)
2- Compression de la bdd. (ok)
3- Envois par e-mail.
4- Suppression des fichiers de sauvegarde. (ok)

Le tout géré par tache Cron.


Le problème c'est l'envoi par email... Pour cela il faut que je découpe la base en petits morceaux, en effet elle est trop grosse pour être envoyé d'un coup.(Blocage de la pièce jointe)
Comment faire?

Sauvegarde de la base:
Code PHP :
<?

//Début de la sauvegarde
echo "La base est en cours de sauvegarde.......<Br>";
system("mysqldump --host=*****.1and1.fr --user=*********--password=******** db****** > db****sql");

//Compression de la bdd
echo "Compression du fichier...<Br>";
system("gzip db*****.sql");

//Découpage de la bdd
//A Voir !

//Début de l'email
require "CMailFile.php3";
$newmail = new CMailFile("MYSQL_DATABASE_MT2C","****@hotmail.com","****@free.fr","message","db*********.sql.gz","base 64");
$newmail->sendfile();

//Début suppression BDD 
unlink("db******.sql");
unlink("db******.sql.gz");

echo 
"C'est fini."
?>



Merci !


RE: Sauvegarde automatique BDD - exdiogene - 04-08-2011

Il faut d'abord savoir les limites imposées par notre hébergeur concernant ces facteurs :
- Temps maximum d'exécution d'un script PHP.
- Maximum de mémoire alloué aux opérations PHP.
- Maximum de dimension des fichiers/courriels à transmettre en PHP.

En ce qui concerne la fonction mail() la limite des attachements est souvent inférieure à 8Moctets.


RE: Sauvegarde automatique BDD - Tlams - 04-08-2011

J'ai réalisé un test avec un fichier de 1.8mo(qui passe donc en pièce jointe).
Au bout de 10-12secondes le serveur me retourne une erreur 500.

D'après la FAQ 1and1:
Citation :Dans la grande majorité des cas, elle est liée au fait que votre contrat dépasse la valeur memory_limit de PHP qui est de 32M.
Un nombre trop important de ressources sont alors exigées par votre script sur le serveur.
Ce dernier se refuse alors à satisfaire la demande en retournant une erreur 500.

Donc sa bloque déjà là...
J'ai essayé d'utiliser mon serveur Free pour transférer les sauvegardes, mais free à bloqué les fonctions ftp (évidemment sa serait trop facile...).

Comment faire? Une autre solution alternative ?


RE: Sauvegarde automatique BDD - exdiogene - 04-08-2011

La solution PHP n'est utile généralement que pour des petites Bases de Données de moins que 16Moctets lorsque compressées sur des hébergements partagés.

Autrement il faut utiliser un autre langage ou un serveur dédié.




RE: Sauvegarde automatique BDD - spyto - 04-08-2011

Et pourquoi, une fois que tu as crée le fichier SQL sur le serveur, ne pas tout simplement t'envoyer le lien de téléchargement par mail ?

D'accord, ce ne sera pas complètement automatique, ll te faudra cliquer sur un lien. Tongue


RE: Sauvegarde automatique BDD - Tlams - 04-08-2011

Pour une raison simple:
A quoi sert d'avoir un lien vers un fichier qui aurait été supprimé suite à une faille, "hack" (...) de mon site ?
D'où l’intérêt du transfert par email ou sur un autre serveur web.

C'est peu probable, mais je préfère prévoir.





RE: Sauvegarde automatique BDD - spyto - 04-08-2011

Oui, bien entendu. Mais si tu fais un backup journalier, tu as de quoi voir venir, non ?

A ce moment-là, utilise un espace de stockage sécursé "en ligne". Il en existe des payants, mais il y en a aussi des gratuits.

Et chez ton fournisseur d'accès, tu n'as aucune possibilité ? SFR par exemple propose l'espace 9giga.

Certains hébergeurs proposent aussi des "snapshots" automatiques du site (fichiers + bases) sur un autre espace que le site lui-même (OVH pour ne pas le nommer).

Sinon, il faut te tourner vers des solutions "online backup storage"...
http://www.techsupportalert.com/content/best-free-online-backup-sites.htm

Et si tu as des amis sûrs, tu as BuddyBackup





RE: Sauvegarde automatique BDD - Tlams - 04-08-2011

Je suis chez Alice...Je pense donc que les mêmes limitations s'appliquent.
Je vais quand même essayer, sinon je pence qu'effectivement je me tournerais vers un service de stockage ftp gratuit(-100mo je devrais trouver) et à défaut payant.

Pour les "snapshots" je suis chez 1and1, je ne sais pas s'ils offrent ce genre de service, je regarderais.


RE: Sauvegarde automatique BDD - Saphir - 04-08-2011

Ben au pire tu as x.gp (x = la lettre que tu veux), c'est tout moche, plein de pubs dans le cas d'un site web (c'est censé être un hébergeur web à la base), mais pour du ftp, c'est pas mal... Smile Et je crois que tu peux monter jusqu'à 1 Go...


RE: Sauvegarde automatique BDD - Tlams - 05-08-2011

J'ai testé avec deux hébergeurs, les deux me sortent:
Code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><!--ss620--><!--ID.111-->
<script>window.location="http://domainhelp.search.com/search?q=*********&d=wwww.************.com.com"</script>
<style><!--
img {
        border: 0;
        }
    ol, ul {
    list-style-image:none;
    list-style-position:outside;
    list-style-type:none;
    }
    body {
    background-color:#FFFFFF;
    font-family:arial,helvetica,verdana,sans-serif;
    font-size:13px;
    }
    a {
    color:navy;
    text-decoration:underline;
    }
    #header h1 {
    font-size: 150%;
    padding-bottom: 10px;
    color: #333;
    }
    #header .searchbox {
    float:left;
    }
    #header .searchbox .q {
    width:300px;
    }
    #header #wrap {
    float: left;
    margin: 8px;
    width:750px;
    padding-bottom: 15px;
    border-bottom: 1px solid #999;
    }
    .query {
    float:left;
    }
    #results_wrap {
    float:left;
    width:100%;
    }
    #results {
    margin:0pt;
    padding:0pt;
    }
    #results h3 {
    color:#555555;
    font-size:13px;
    margin:10px 0px;
    }
    #header b {
    color:#555555;
    font-size:13px;
    }
    #results #dmoz_wrap {
    padding-bottom: 18px;
    border-bottom: 1px solid #777;
    width:750px;
    margin: 0 0 0 8px;
    }
    #results #dmoz {
    border:0pt none;
    font-size:11px;
    width: 100%;
    margin: 0 0 0 10px;
    }
    #results #dmoz b {
    font-size:13px;
    }
    #results #dmoz td {
    padding:5px 5px 5px 0;
    }
    #results #services_wrap {
    width:750px;
    margin: 0 0 0 8px;
    padding-top: 8px;
    }
    #services {
    margin: 0 0 0 10px;
    width: 750px;
    }
    #services td {
    padding:5px 5px 5px 0;
    vertical-align:top;
    }
    #services ul {
        margin: 0;
        padding: 0;
    }
    #services ul li {
    padding-bottom:5px;
    }
    #services ul li a {
    font-weight:bold;
    }
    #services ul li p {
    font-size: 90%;
    margin:8px 0pt 0pt 0px;
    }
        #copyright {
        margin: 30px 0 0 8px;
        font-size: 11px;
        color: #555;
        }
        #copyright a {
        color: #555;
        }
--></style>
</head>
<body>
<noscript>
    <div id="header">          
        <div id="wrap">
        <h1>Sorry,     we can't find wwww.***********.com.com. <br>Please check the address for errors.</h1>
        <form action="http://www.search.com/search" name="t" method="get" id="t">
        <div class="searchbox">
            <div class="query">
                <b>Search the Web</b>
                <input type="text" class="q" name="q" size="40" maxlength="256" value="*********" />&nbsp;
                <input class="button" type="submit" value="Search" />
                <a href="http://www.search.com"><img src="http://i.i.com.com/cnwk.1d/i/se/sc/powered_by_search.gif" align="absbottom"></a>
            </div></form>
        </div>
        </div id="wrap">
    </div>
    <div id="content">
        <div id="results_wrap">
            <div id="results">
                <div id="organic">
                    <div id="dmoz_wrap">
                        <h3>or browse the Web by topic:</h3>
    
    <table id="dmoz">
        <tr>
            <td>
                <b><a href="http://www.search.com/dir/Top/Arts">Arts & Entertainment</a></b><br />
                <a href="http://www.search.com/dir/Top/Arts/Music">Music</a>,
                <a href="http://www.search.com/dir/Top/Arts/Movies">Movies</a>,
                <a href="http://www.search.com/dir/Top/Arts/Television">TV</a>...
            </td>

            <td>
                <b><a href="http://www.search.com/dir/Top/Kids_and_Teens">Kids & Teens</a></b><br />
                <a href="http://www.search.com/dir/Top/Kids_and_Teens/School_Time">School</a>,
                <a href="http://www.search.com/dir/Top/Kids_and_Teens/Entertainment">Entertainment</a>,
                <a href="http://www.search.com/dir/Top/Kids_and_Teens/Games">Games</a>...
            </td>
            <td>

                <b><a href="http://www.search.com/dir/Top/Regional">Regional</a></b><br />

                <a href="http://www.search.com/dir/Top/Regional/North_America/United_States">US</a>,
                <a href="http://www.search.com/dir/Top/Regional/North_America/Canada">Canada</a>,
                <a href="http://www.search.com/dir/Top/Regional/Europe/United_Kingdom">UK</a>...
            </td>
        </tr>
        <tr>
            <td>

                <b><a href="http://www.search.com/dir/Top/Business">Business & Money</a></b><br />

                <a href="http://www.search.com/dir/Top/Business/Employment">Jobs</a>,
                <a href="http://www.search.com/dir/Top/Business/Major_Companies">Companies</a>,
                <a href="http://www.search.com/dir/Top/Business/Investing">Investing</a>...
            </td>
            <td>
                <b><a href="http://www.search.com/dir/Top/News/">News</a></b><br />

                <a href="http://www.search.com/dir/Top/News/Breaking_News">Breaking News</a>,
                <a href="http://www.search.com/dir/Top/News/Weather">Weather</a>,
                <a href="http://www.search.com/dir/Top/News/Analysis_and_Opinion">Analysis & Opinion</a>...
            </td>

            <td>
                <b><a href="http://www.search.com/dir/Top/Science">Science</a></b><br />
                <a href="http://www.search.com/dir/Top/Science/Technology">Technology</a>,
                <a href="http://www.search.com/dir/Top/Science/Biology">Biology</a>,
                <a href="http://www.search.com/dir/Top/Science/Social_Sciences/Psychology">Psychology</a>...
            </td>

        </tr>
        <tr>

            <td>
                <b><a href="http://www.search.com/dir/Top/Computers">Computers</a></b><br />
                <a href="http://www.search.com/dir/Top/Computers/Internet">Internet</a>,
                <a href="http://www.search.com/dir/Top/Computers/Software">Software</a>,
                <a href="http://www.search.com/dir/Top/Computers/Hardware">Hardware</a>...
            </td>

            <td>
                <b><a href="http://www.search.com/dir/Top/Society">People & Society</a></b><br />

                <a href="http://www.search.com/dir/Top/Society/People/Celebrities">Celebrities</a>,
                <a href="http://www.search.com/dir/Top/Society/Genealogy">Genealogy</a>,
                <a href="http://www.search.com/dir/Top/Society/Religion_and_Spirituality">Religion</a>...
            </td>
            <td>

                <b><a href="http://www.search.com/dir/Top/Shopping">Shopping</a></b><br />
                <a href="http://www.search.com/dir/Top/Shopping/Vehicles/Autos">Autos</a>,
                <a href="http://www.search.com/dir/Top/Shopping/Consumer_Electronics">Electronics</a>,
                <a href="http://www.search.com/dir/Top/Shopping/Toys_and_Games">Toys</a>...
            </td>

        </tr>
        <tr>
            <td>

                <b><a href="http://www.search.com/dir/Top/Games">Games</a></b><br />
                <a href="http://www.search.com/dir/Top/Games/Video_Games">Video Games</a>,
                <a href="http://www.search.com/dir/Top/Games/Video_Games/Cheats_and_Hints">Cheats & Hints</a>,
                <a href="http://www.search.com/dir/Top/Games/Online">Online</a>...
            </td>

            <td>
                <b><a href="http://www.search.com/dir/Top/Recreation">Recreation</a></b><br />

                <a href="http://www.search.com/dir/Top/Recreation/Food">Food</a>,
                <a href="http://www.search.com/dir/Top/Recreation/Outdoors">Outdoors</a>,
                <a href="http://www.search.com/dir/Top/Recreation/Pets">Pets</a>...
            </td>
            <td>
                <b><a href="http://www.search.com/dir/Top/Sports">Sports</a></b><br />

                <a href="http://www.search.com/dir/Top/Sports/Soccer">Soccer</a>,
                <a href="http://www.search.com/dir/Top/Sports/Basketball">Basketball</a>,
                <a href="http://www.search.com/dir/Top/Sports/Football">Football</a>...
            </td>

        </tr>
        <tr>
            <td>
                <b><a href="http://www.search.com/dir/Top/Health">Health</a></b><br />

                <a href="http://www.search.com/dir/Top/Health/Fitness">Fitness</a>,
                <a href="http://www.search.com/dir/Top/Health/Medicine">Medicine</a>,
                <a href="http://www.search.com/dir/Top/Health/Conditions_and_Diseases">Diseases</a>...
            </td>

            <td>
                <b><a href="http://www.search.com/dir/Top/Reference">Reference</a></b><br />
                <a href="http://www.search.com/dir/Top/Reference/Maps">Maps</a>,
                <a href="http://www.search.com/dir/Top/Reference/Encyclopedias">Encyclopedias</a>,
                <a href="http://www.search.com/dir/Top/Reference/Ask_an_Expert">Ask An Expert</a>...
            </td>

            <td>
                <b><a href="http://www.search.com/dir/Top/Recreation/Travel">Travel</a></b><br />

                <a href="http://www.search.com/dir/Top/Recreation/Travel/Transportation/Air">Flights</a>,
                <a href="http://www.search.com/dir/Top/Recreation/Travel/Lodging">Lodging</a>,
                <a href="http://www.search.com/dir/Top/Recreation/Travel/Guides_and_Directories">Guides</a>...
            </td>
        </tr>
    </table>
                </div>
            </div>
        </div>
        <div id="copyright"><a href="http://www.cnetnetworks.com/editorial/copyright.html">Copyright</a> &copy;2011 CNET Networks Inc., a CBS Company.  All Rights Reserved.  <a href="http://www.cnetnetworks.com/editorial/privacy.html">Privacy Policy</a> | <a href="http://www.cnetnetworks.com/editorial/terms.html">Terms of Use</a></div>
</div>

    </div>

<!-- dw tracking -->
<script type="text/javascript" src="http://dw.com.com/js/dw.js"></script>
<script type="text/javascript">
DW.pageParams = {
    siteid: '25',
    onid: '11447',
    edid: '1406',
    ptid: '6201',
    tag: ''
};
DW.clear();
</script>


</noscript>


<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-285660-14");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._initData();
pageTracker._trackPageview();
</script>


</body>
</html>

C'est pas vraiment sa!

J'ai testé avec ma base de donné, mais aussi avec un petit fichier texte de quelques ko...


RE: Sauvegarde automatique BDD - galet - 05-08-2011

Tlams, je te connait vaguement toi Wink

La solution a ton problème serait d'augmenter la taille des pièces jointe accepté, ou bien crée un template avec ce code formaté. (je pense) ou bien esseye avec un hébérgeur de dédié, sa marche aussi avec les forums OVH par exemple.


RE: Sauvegarde automatique BDD - Tlams - 05-08-2011

Bon... Rien ne fonctionne, je vais opter pour un autre système plus radical.
-> Mise à jour toute les 24h avec une tache cron(ok)
-> Script ahk qui télécharge automatique la sauvegarde sur mon PC au démarrage... Sa je sais faire !

Et puis voila ! J'en est marre .






RE: Sauvegarde automatique BDD - galet - 05-08-2011

Bonne idée... mais ne baisse pas les bras.


Sauvegarde automatique BDD - Tlams - 05-08-2011

Bon, j'ai finit.
Je distribue le code:

PHP:
Code PHP :
<?php
$dossier_traite 
"sauvegarde";
$repertoire opendir($dossier_traite); 
while (
false !== ($fichier readdir($repertoire))) 
{
$chemin $dossier_traite."/".$fichier
if (
$fichier != ".." AND $fichier != "." AND !is_dir($fichier))
       {
       
unlink($chemin); 
       }
}
closedir($repertoire);

$date_sauvegarde date('d_m_Y');
$heure_sauvegarde date('H_i_s');
$a "a";
$MT2CBDD "MT2CBDD_";
$nombdd "$MT2CBDD$date_sauvegarde$a$heure_sauvegarde";
system("mysqldump --host=*****.1and1.fr --user=dbo******* --password=******* db****** > sauvegarde/$nombdd.sql");
$fp fopen("listbdd.txt""w+");
fwrite($fp$nombdd);
fclose($fp);     
?>



CODE AHK
Code :
; AutoHotkey Version: 1.x
; Language:       English
; Platform:       Win9x/NT/Xp/Vista/W7
; Author:         Tlams
;
; Script Function:
;    Dl sauvegarde base de données

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

UrlDownloadToFile, http://www.votresite.com/sqlbis/SauvSQL_DATA_BASE2.php, RunSauvgardeBDD.txt
UrlDownloadToFile, http://www.votresite.com/sqlbis/listbdd.txt, listbdd.txt
FileReadLine, bddname, listbdd.txt, 1
IfNotExist, %bddname%.sql
{
TrayTip, MT2C_BDD_DL_START, Base de données en cour de téléchargement, 3, 1
UrlDownloadToFile, http://www.votresite.com/sqlbis/%bddname%.sql, %bddname%.sql
TrayTip, MT2C_BDD_DL_CLOSE, Base de données téléchargé, 3, 1
sleep 3000
}
return



Utilisation:
Crée une tache automatique avec Windows sur le script AHK.(C'est tout!)

--Tlams




RE: Sauvegarde automatique BDD - Tlams - 07-08-2011

Après deux jours de test, sa fonctionne vraiment bien! Big Grin

J'ai mis un retardateur de 3 minutes pour pas ralentir le démarrage du PC.
Je ferais peu être un soft pour simplifier quand j'aurais plus de temps...






 Utilitaire de traduction fourni par Regentronique