Cet article est assez ancien, malgré toute l'attention que j' apporte à mes contenus il est possible que celui-ci ne soit plus d'actualité.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
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 |