Commande qui s'exécute en ligne de commande mais pas en script
Bonjour,
Je précise d'abord que je suis suis débutant en bash mais j'ai queques notion en linux. J'aimerais réaliser un script qui envois un script sql générer par mon serveur 1 vers mon serveur 2 puis qu'il soit exécuté sur mon serveur 2. Mon problème est que mon script ne fonctionne pas du tout mais quand j'essaye chaque ligne de commande à la main, tout fonctionne parfaitement. Le script s'exécute depuis le serveur 2.
Au niveau des erreur j'ai cela:
->Name or service not knownname (pour la ligne 10)
->$'logout\r' : commande introuvable (pour la ligne 16)
->Aucun fichier ou dossier de ce type (pour la ligne 19)
J'espère avoir été assez précis dans mes explication :mrgreen:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #!/bin/bash
#variable du script
user="utilisateur"
Serveur1="serveur1"
Serveur2="serveur2"
DATE=`date "+%Y%m%d"`
#connexion au serveur 1 en ssh
ssh -p 22 $user@$Server1
#transfert du dump vers le serveur 2
scp /application/tmp/script_$DATE.sql $user@$Serveur2:/application/tmp
#Fermeture de la session ssh
logout
#Exécution du script
psql -h monserveur2 -U postgres -d mabase < /application/tmp/script_$DATE.sql |