Sauvegarde Des Bdd Par Cron. Est - ce Possible ?

milona

New Member
#1
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
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
 
Haut