Script Bash et commandes Mysql

pcsystemd Messages postés 734 Statut Membre -  
pcsystemd Messages postés 734 Statut Membre -
Bonjour,

je cherche a faire un script bash qui se connecte a Mysql puis qui execute des commandes. Voici le début de mon script

#! /bin/bash

DIRS="/chemin"
LOGSQL="${DIRS}/monlog.log"
FISQL="${DIRS}/masortie.sql"
echo "use mabase;select * from matable;" > ${FISQL} | mysql --user="$USERMYSQL" --password="$PASSMYSQL" || echo "Echec de connexion a mysql > ${LOGSQL}"

apres execution du script :

j'ai un souci avec
echo "use mabase;select * from matable;" > ${FISQL}


En effet mon fichier ${FISQL} contient : echo "use mabase;select * from matable;"

au lieu de contenir le résultat de mon select

y a un truc que je comprends pas.

Une idée?

Merci
A voir également:

10 réponses

gigaga Messages postés 2347 Date d'inscription   Statut Membre Dernière intervention   301
 
in=$(mysql -p****** -e "use mabase;select * from matable;" -E)
echo "$in" > ${FISQL}

??
1
dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
echo "use mabase;select * from matable;" | mysql --user="$USERMYSQL" --password="$PASSMYSQL" > ${FISQL} || echo "Echec de connexion a mysql > ${LOGSQL}"
0
pcsystemd Messages postés 734 Statut Membre 23
 
Bonjour,

merci beaucoup a vous deux. Une autre petite question si je veux inseré un fichier qui contient des lignes d'insert :

Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');
Insert matable (sf,dfs,sdfs) values ('4','hhjhhlhkl','jhhg');


comment dois je procedé?

Merci
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
insérer dans la base ?
cat fichier | mysql ...
et tu peux mixer les commandes
(echo "use mabase;select * from matable;" ; cat fichier) | mysql ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pcsystemd Messages postés 734 Statut Membre 23
 
Merci encore dubcek. J'ai donc suivi ce que tu m'indiques :

echo "use mabase;";cat ${LISTFILE} | mysql --user="login" --password="pass" > ${FILESQL} || echo "Echec de connexion a mysql > ${LOGMYSQL}"


mais j'ai l'erreur suivante :
use mabase;
ERROR 1046 (3D000) at line 1: No database selected
Echec de connexion a mysql > /chemin/errormysql.log

Puis je encore abusé de tes connaissances et juste si tu connais me dire comme dois je m'y prendre pour me connecter en ssh depuis mon script.

En faites pour tous te dire, j'essaie de créer un script qui se lance sur la machine A et qui se connecte a une base postgresql pour avoir le resultat d'un select dans un fichier puis je traite ce fichier avec SED pour formater mes lignes d'insert puis je dois importé ce fichier dans une base Mysql qui est sur la machine B(connexion SSH) .

Merci
0
pcsystemd Messages postés 734 Statut Membre 23
 
Pardon dubcek ne tiens pas compte de l'erreur c'est ok j'avais fait n'importe quoi. Par contre pour la suite si quelqu'un a une idée je suis preneur.

Merci
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
je dirais mettre les commandes dans un script et
ssh user@hostname script
0
pcsystemd Messages postés 734 Statut Membre 23
 
En faites non car je souhaite que tout soit automatisé dans mon script ainsi que la connexion SSH. Si j'ai compris ce que tu m'explique dans ta solution je dois saisir la connexion ssh.

Merci
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
non, le ssh peut être dans un script qui s'exécute sur A, au retour du ssh l'exécution continue sur A
0
pcsystemd Messages postés 734 Statut Membre 23
 
Ok merci je vais me documenté.
0