Voici un petit script bash qui vous permettra de copier facilement le contenu d’une base de données à une autre depuis un hébergement mutualisé ovh.
( Ce script fonctionne uniquement à partir des hébergements pro, car il nécessite un accès ssh )
Le déroulé du script est le suivant :

  • Export de la bdd à copier
  • Sauvegarde de la bdd de destination
  • Suppression des données de la bdd de destination
  • Insertion des données de la bdd à copier dans la bdd de destination
#!/bin/bash
 
#Saisir les paramètres des bases de données
serveurProd="mysql.ovh"
userProd="user"
passProd="password"
 
serveurPreprod="mysql.preprod"
userPreprod="preprod"
passPreprod="preprod"
 
#Export de la base de donnees de prod
echo "Sauvegarde base de prod"
mysqldump --host=$serveurProd --user=$userProd --password=$passProd $userProd | gzip > backup-prod_$(date +"%Y-%m-%d").sql.gzip
 
#Sauvegarde de la base de donnees de preprod
echo "Sauvegarde base de preprod"
mysqldump --host=$serveurPreprod --user=$userPreprod --password=$passPreprod $userPreprod | gzip > backup-preprod_$(date +"%Y-%m-%d").sql.gzip
 
#Suppression des donnees de la base de donnes preprod
echo "Suppression des donnees de la table de preprod"
TABLES=$(mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod -e 'show tables' | awk '{ print $1}' | grep -v '^Tables' )
 
for t in $TABLES
do
echo "Suppression de la table  $t de la base de données $userPreprod ..."
mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod -e "drop table $t"
done
 
#Insertion des données de prod dans la table de preprod
echo "Insertion des nouvelles donnees dans la table de preprod"
zcat backup-prod_$(date +"%Y-%m-%d").sql.gzip | mysql -h $serveurPreprod -u $userPreprod -p$passPreprod $userPreprod

Pour utiliser ce script, il faut créer un fichier (ex: update-bdd.sh) avec le contenu ci-dessus sur votre hébergement
Puis de se connecter en ssh et de l’exécuter avec la commande suivante :

bash update-bdd.sh