Script Putty + fichier de commandes
Fermé
scriptPutty
-
27 mai 2013 à 12:20
ryko1820 Messages postés 1677 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 27 mai 2013 à 15:12
ryko1820 Messages postés 1677 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 27 mai 2013 à 15:12
A voir également:
- Putty command line examples
- Putty - Télécharger - Divers Web & Internet
- Command line mac - Guide
- Line - Télécharger - Messagerie
- Sfc scannow command - Guide
- Line in ✓ - Forum Enceintes / HiFi
2 réponses
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 27/05/2013 à 14:44
Modifié par ryko1820 le 27/05/2013 à 14:44
Hello,
déjà il me semble que tu veux faire 2 choses en même temps avec ton putty :
lancer une commande en ssh (ok) et un transfert de fichier (en sftp) (pas ok).
Pourquoi ne pas plutôt utiliser les outils en ligne de commande proposés dans le répertoire de putty (plink et psftp ou pscp) dans un batch ?
ça donnera un .bat qui ressemblera à
(les -batch c'est juste pour dire "pas d'affichage interractif car on est en mode script")
avec un fichier de paramètre "c:\mon_chemin_local\commandes_sftp.cmd" qui contiendra :
Vérifier aussi que la commande "commandesPutty.sh" que tu lances sur le serveur est executable et que tu as les droits.
EDIT : Il est bien sur le serveur le "commandesPutty.sh" ?
(Sinon utiliser l'option -m de plink en lui passant un fichier local comme avec le "-b c:\temp\test.cmd de psftp" = "C:\Program Files (x86)\PuTTY\plink" 192.168.1.XX -l tonutilisateur -pw tonmotdepasse -batch -m c:\mon_chemin_local\commandesPutty.sh)
Enfin si c'est un sujet sensible, de façon à pas avoir les mots de passes en clair dans un batch mettre en place le système de clef publiques / clefs privées entre ton serveur et ton client (en plus, plus besoin de taper le mot de passe à chaque fois, tu me diras, ça évite de l'oublier :) quoique à force de le taper ... )
déjà il me semble que tu veux faire 2 choses en même temps avec ton putty :
lancer une commande en ssh (ok) et un transfert de fichier (en sftp) (pas ok).
Pourquoi ne pas plutôt utiliser les outils en ligne de commande proposés dans le répertoire de putty (plink et psftp ou pscp) dans un batch ?
ça donnera un .bat qui ressemblera à
@echo off "C:\Program Files (x86)\PuTTY\plink" 192.168.1.XX -l tonutilisateur -pw tonmotdepasse -batch /home/toto/commandesPutty.sh "C:\Program Files (x86)\PuTTY\psftp" 192.168.1.XX -l tonutilisateur -pw tonmotdepasse -batch -b c:\mon_chemin_local\commandes_sftp.cmd
(les -batch c'est juste pour dire "pas d'affichage interractif car on est en mode script")
avec un fichier de paramètre "c:\mon_chemin_local\commandes_sftp.cmd" qui contiendra :
cd /logiciels get monfichier_à_récupérer
Vérifier aussi que la commande "commandesPutty.sh" que tu lances sur le serveur est executable et que tu as les droits.
EDIT : Il est bien sur le serveur le "commandesPutty.sh" ?
(Sinon utiliser l'option -m de plink en lui passant un fichier local comme avec le "-b c:\temp\test.cmd de psftp" = "C:\Program Files (x86)\PuTTY\plink" 192.168.1.XX -l tonutilisateur -pw tonmotdepasse -batch -m c:\mon_chemin_local\commandesPutty.sh)
Enfin si c'est un sujet sensible, de façon à pas avoir les mots de passes en clair dans un batch mettre en place le système de clef publiques / clefs privées entre ton serveur et ton client (en plus, plus besoin de taper le mot de passe à chaque fois, tu me diras, ça évite de l'oublier :) quoique à force de le taper ... )
Merci pour la réponse.
Le script sh est du côté windows, d'où l'option -m. Mais j'ai vu dans les exemples sur le net qu'il pourrait être au format txt. Il contient juste des commandes unix à exécuter.
Donc dans un premier temps j'aimerais pouvoir exécuter des commandes unix via mon batch windows.
Ce que je ne comprends pas c'est pourquoi les commandes spécifiées dans mon fichier ne sont pas exécutées.
Si vous avez des idées, je suis preneur.
Merci
Le script sh est du côté windows, d'où l'option -m. Mais j'ai vu dans les exemples sur le net qu'il pourrait être au format txt. Il contient juste des commandes unix à exécuter.
Donc dans un premier temps j'aimerais pouvoir exécuter des commandes unix via mon batch windows.
Ce que je ne comprends pas c'est pourquoi les commandes spécifiées dans mon fichier ne sont pas exécutées.
Si vous avez des idées, je suis preneur.
Merci
ryko1820
Messages postés
1677
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 27/05/2013 à 15:36
Modifié par ryko1820 le 27/05/2013 à 15:36
Plink et psftp ne font que dérouler les commandes qu'ils trouvent dans le fichier passé en paramètre (par -m ou -b). C'est forcément un fichier texte simple (réalisé sous bloc-note ou notepad+ ou vi ou autres éditeurs "propres" pour éviter les caractères parasites).
Pour débugger ça, faut lancer les commandes des fichiers de paramètres à la main vers une session Putty classique (copié/collé de la commande dans le terminal) et voir si elles se lancent normalement.
Un transfert de fichier est impossible dans putty (à moins qu'il y ait un serveur sftp ou ftp sur le client auquel cas on utilise le client du serveur pour envoyer, mais c'est une autre histoire :))) mais il peut y avoir un problème de droit ou de chemin dans les lancement passés par ton script au linux.
Pour débugger ça, faut lancer les commandes des fichiers de paramètres à la main vers une session Putty classique (copié/collé de la commande dans le terminal) et voir si elles se lancent normalement.
Un transfert de fichier est impossible dans putty (à moins qu'il y ait un serveur sftp ou ftp sur le client auquel cas on utilise le client du serveur pour envoyer, mais c'est une autre histoire :))) mais il peut y avoir un problème de droit ou de chemin dans les lancement passés par ton script au linux.
27 mai 2013 à 14:54
avec un fichier de paramètre "c:\mon_chemin_local\put_sftp.cmd" qui contiendra :
et un fichier de paramètre "c:\mon_chemin_local\get_sftp.cmd" qui contiendra :
(l'extension .cmd des fichiers de param est facultative, tu mets ce que tu veux ...)