Bonjour,
Actuellement je bloque sur mon bout de code. Je me tourne vers vous afin d'avoir un peut d'aide.
Ce que je cherche à faire :
1) Lister les bases de données =>ok
2) Pour chaque base de données, je créer son dump =>ok
3)Voici ou je bloque : Renommer mes dumps par un array ou autre qui contiendrait la liste de mes nouvelles database
4) Lister un répertoire qui contient mes dumps =>ok
5 importer un fichier dumps seulement si il est égale au nom de la base de données =>ok
Je vous remercie d'avance de votre temps et oui c'est normal que l'ensemble n'est pas imbriquer, j'essaye de comprendre ce que j'essaye de faire(même si ce n'est pas gagner)
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #!/bin/bash #(mysqldump -u $user -p$pass --single-transaction $bd_dist > $folder/$bd_dist.sql) user=xxx passloc=xxx query=$(mysql -u $user -p$passloc -Bse "show databases" | grep -ve performance_schema -ve mysql -ve phpmyadmin -ve information_schema -ve mysql) folder=/home/marco array=(veolia) filedump=(trial jeanoktar) baseaimport=(trial jeanboubou) ############################################################################################################################################### # Cette parti consiste à lister les bases de données # # Pour chaque valeur retenu, on créer un dump # ############################################################################################################################################### for value in $query do mysqldump -u $user -p$passloc --single-transaction $value > $folder/$value.sql done ############################################################################################################################################## # Cette parti du Script impose la condition suivante # # L importation s'effectue seulement si le fichier dump à pour même nom que la database # # # ############################################################################################################################################## for bd_dist in "${filedump[@]}" do for bd_loc in "${baseaimport[@]}" do if [ $folder/$bd_dist == $folder/$bd_loc ] then echo : "c'est la win" && mysql -u $user -p$passloc $bd_loc < $folder/$bd_dist else echo : "c'est la defaite" fi done done
Avant :
dans le répertoire /home/dump, il y a trois fichier :
dumpA dumpB DumpC
Après:
Toujours dans ce même répertoire, je conserve ses trois fichier mais je les renomme en fonction d'une liste.
Le dumpA se renomme en dumpcusto1
Le dumpB se renomme en dumpcusto2
Le dumpC se renomme en dumpcusto3
Je ne sais pas si il possible de remplacer la valeur 1 d'une liste A par la valeur 1 d'une liste B
Partager