Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    Sauvegarde base de données hébergeur à sauvegarder vers un répertoire de mon hébergement
    Bonjour à tous, tout d'abord veuillez m'excuser si ce post n'est pas à son bon emplacement, je suis commerçant avec des compétences très limitées en SQL et BDD.
    Je sauvegarde tous les jours sur un NAS local les fichiers de mon site.
    J'aimerais également pouvoir rapatrier des sauvegardes de ma base de donnée.
    Malgré toutes mes recherches sur la fonction MySQLdump je me perd totalement, ces fonctions semble attaquer du linux dont je ne connais absolument rien et dans ces conditions il me semble dangereux de "bidouiller" sur le serveur.
    je souhaiterais :

    Lancer un CRON qui en hebdomadaire utiliserais des instructions stockées dans un fichier .php pour faire une sauvegarde de mes BDD si je parviens à enregistrer cette sauvegarde dans un répertoire dédié de mon hébergement je pourrais ainsi la rapatrier comme le reste mais je me heurte à de nombreux soucis comme la navigation au sein des répertoires que je ne connais pas en linux et le vérouillage de la BDD pendant la sauvegarde afin que celle-ci ne soit pas modifiée.

    Je cherche don une personne qui puisse me guider pas à pas dans la mise en place de cette sauvegarder ou qui puisse me proposer une telle prestation, cela va paut être choquer certain mais j'ai déjà passer énormément de temps sur ce problème et ce n'est pas mon coeur de métier.

    Je peux encore essayer d'apprendre une dernière fois si je suis bien guidé mais vu l'importance de cette sauvegarde pour moi je peux également "acheter" une prestation.

    merci d'avance à tous ceux qui comprendrons ma problématique et serons à même de m'aider quel que soit le moyen.

    bonne journée

  2. #2
    Expert éminent sénior
    Salut patrickpolbos.

    Citation Envoyé par patrickpolbos
    Je sauvegarde tous les jours sur un NAS local les fichiers de mon site.
    Comment le faites vous ? Est-ce par recopie de votre disque dur ou tout simplement, une liste de fichier par la commande "copy" ?

    Citation Envoyé par patrickpolbos
    J'aimerais également pouvoir rapatrier des sauvegardes de ma base de donnée.
    C'est très simple à faire. Vous créez un batch qui va exécuter la commande "mysqldump".
    Je suis sous windows et j'utilise ceci :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
     
    set PATH=%WAMPSERVER%\bin\mysql\mysql%MYSQL%\bin\;%PATH%
     
    @echo "+--------------------------------+"
    @echo "| Déchargement des tables 'Test' |"
    @echo "+--------------------------------+"
    @echo.
     
    mysqldump --no-create-db  --opt  --databases test  --result-file=Test.sql
     
    pause
    exit

    Et pour rappatrier votre base de données, c'est par la commande mysql :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    @echo off
     
    set PATH=%WAMPSERVER%\bin\mysql\mysql%MYSQL%\bin\;%PATH%
     
    @echo "+--------------------------+"
    @echo "| Création DataBase 'Test' |"
    @echo "+--------------------------+"
    @echo.
    mysql mysql < Test\Base_test.sql
    @echo.
    @echo "+-----------------------------+"
    @echo "| Création Table 'Tab_access' |"
    @echo "+-----------------------------+"
    @echo.
    mysql --database=Test < Test.sql
    @echo.
    @echo.
    pause
    exit

    Attention : vous devez indiquer où se trouve l'exécutable "mysql" ou "mysqldump" dans la variable d'environnement PATH.

    Citation Envoyé par patrickpolbos
    ces fonctions semble attaquer du linux dont je ne connais absolument rien
    Dans ce cas, pourquoi parlez-vous de la crontab ? Sous windows, il s'agit du "planificateur de tâches".

    Du coup, j'ai un doute. Etes-vous sous windows ou sous linux ? Si linux, quelle distribution ?

    Sous Linux, un script bash pourra faire l'affaire.
    Il vaut mieux mettre un script que d'utiliser directement dans la crontab la commande mysqldump.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
     
    /usr/bin/mysqldump -no-create-db  -opt  --database test  --result-file=Test_$(date +%Y-%m-%d).sql
     
    exit

    1) créer le fichier à vide : "touch base_test.sh" (sh veut dire shell).

    2) recopier le script ci-dessus. A vous de l'adapter en fonction de votre base de données.

    3) attribuer les privilèges à votre script :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    chmod +x base_test.sh
    chown root:root base_test.sh

    Pourquoi mettre le script en "root" ? A cause de la crontab.

    4) création dans la crontab :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    sudo crontab -e

    puis insertion de cette ligne :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    0 23 * * 5 /chemin_absolu_vers_le_script > fichier.log

    Il va se déclencher tous les vendredi à 23H00.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Nouveau Candidat au Club
    Bonjour et merci pour toutes vos explications que j'ai tenté de comprendre au mieu.

    Pour la sauvegarde de mes fichier, j'utilise cobian backup qui va chercher les fichiers sur mon hébergement en FTP et les recopie sur mon nas, voila, j'espère que j'ai été clair.

    Pour la sauvegarde de mes BDD, je suis chez un hébergeur (Planethoster), il semble que les opérations sur la base SQL se fassent en linux, il me faut donc faire un mysqldump qui envoie mes fichiers dans un répertoire spécifique de mon hébergement (Déjà je ne sait pas comment naviger dans les répertoires en Linux)

    j'envisageais de mettre toutes les instructions nécessaires dans un fichier avec extention .php

    cela me permets ensuite par l'interface CRON de mon hébergement de lancer l'exécution de ce fichier à intervalle régulier ce qui reste également fonctionnel si je change d'hébergeur.

    J'espère que j'ai été plu clair et que vous pourrez ainsi me guider précisément avec la bonne instruction

    Pour la sauvegarde de vos fichier de la même façon si je n'ai pas été clair, n'hésitez pas à revenir vers moi

    bonne journée

  4. #4
    Expert éminent sénior
    Salut patrickpolbos.

    Vous n'êtes pas clair, car j'ai cru comprendre que vous aviez un serveur web chez vous et non chez un hébergeur (Planethoster).
    Pour la planification de vos sauvegardes hebdomadaires, vous devez voir cela avec votre hébergeur.
    Manuellement, cela se fait à partir de phpmyadmin en effectuant un export.

    Pour le faire automatiquement, donc par la crontab, vous devez voir avec votre hébergeur si vous êtes autorisés à la faire.
    Avez-vous accès, chez votre hébergeur, à une session linux (quelle distribution svp) ?

    Il existe certainement des sauvegardes automatiques de votre base de données chez votre hébergeur. Renseignez-vous !

    Vous ne pourrez pas tout faire en php.
    Comme je l'ai dit, un script bash devra encapsuler votre commande mysqldump pour automatiser l'exportation de votre base de données.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Nouveau Candidat au Club
    Désolé, n'y connaissant rien en ce domaine, il m'est compliqué d'être clair, j'ai bien accès à une session linux par l'hébergeur, ils appellent cela le terminal et m'ont dis que c'était du linux mais je ne sait pas comment déterminer ce que vous appelez la distribution.
    Ils m'ont également confirmé qu'il était possible de mettre les instructions "Linux/Mysql" dans un fichier .php et de l’exécuter en tâche CRON, il faudra que cela envoie les fichiers générés dans un répertoire spécifique et accessible par FTP pour que je le récupère avec le reste.
    Il existe en effet des sauvegardes auto de la BDD mais elles ne sont pas accessible par mon cpanel, je n'y ai accès qu'en restauration et, suite à un souvenir cuisant d'hébergeur piraté, j'ai pour habitude de tout dupliquer sur mes propres supports dès que je le peux.
    Voila de quels éléments je suis parti et c'est sur cette base que je tente de comprendre et construire une solution.

    bonne journée

  6. #6
    Nouveau Candidat au Club
    Voici le fichier que j'ai créé, si ça peut servir...

    la ou je coince encore c'est que j'aimerai pouvoir supprimer automatiquement certains fichier de sauvegarde (Par exemple ne conserver que ceux du premier jour des mois passé)

    bonne journée