Sauvegarde Des Bdd Par Cron. Est - ce Possible ?

Discussion dans 'Hébergements Mutualisés' démarrée par milona, Avr 13, 2018.

  1. milona

    milona New Member

    Bonjour,

    Je sais que cron permet de lancer des actions de façon automatique à une heure déterminée mais je n'y connais pas grand chose à part ça.
    Est-ce que quelqu'un sait s'il est possible de créer une sauvegarde de ses bases de données par cron. Et si oui pourrait-on me donner le contenu d'un script utilisable ou un lien qui explique comment faire de manière simple ?

    Merci d'avance.
     
  2. David77

    David77 Member

    Bonjour,

    Ce sujet a été abordé ici : https://forums.planethoster.com/threads/sauvegarde-batabases-via-mysqldump-impossible-1045.2039/

    Pour résumer voilà un exemple de contenu d'un fichier backup.sh qui est appelé par tache cron pour sauvegarder 2 bases de données :
    Code:
    #!/bin/sh
    
    USER="usercpanel"
    
    DBADMIN="backup"
    DBPW="password"
    
    DB1="base1"
    DB2="base2"
    
    DATE=`date -I`
    
    find /home/$USER/backups/bdd/bdd* -mtime -1 -exec rm {} \;
    
    mysqldump -u ${USER}_${DBADMIN} -p$DBPW ${USER}_${DB1} | gzip > /home/$USER/backups/bdd/bddbackup_${DB1}_${DATE}.sql.gz
    mysqldump -u ${USER}_${DBADMIN} -p$DBPW ${USER}_${DB2} | gzip > /home/$USER/backups/bdd/bddbackup_${DB2}_${DATE}.sql.gz
    
    Pour précision :
    • DBADMIN est un utilisateur mysql qui doit avoir accés à toutes les bases de données que tu veux sauvegarder avec tous les droits sur chacune
    • "find /home/$USER/backups/bdd/bdd* -mtime -1 -exec rm {} \;" permet d'effacer automatiquement la sauvegarde de la veille afin de ne pas surcharger l'espace disque
      C'est une boucle qui cherchera tous les fichiers commençant de la même façon (ici "bdd")
      Cette fonction a été mis en place car nous téléchargeons quotidiennement et automatiquement les sauvegarde sur un PC (méthodes éxpliqués sur le post cité en début)


    Et l'appel de la tache cron se fait ainsi :
    Code:
    30 2 * * * /home/usercpanel/backups/backup.sh
    Ici tous les jours de tous les mois à 2h30 du matin
     

Partager cette page