2012-12-06 05:54:59 +0000 2012-12-06 05:54:59 +0000
20
20

Comment exécuter un fichier de commande dans PuTTY en utilisant la connexion automatique dans une invite de commande ?

J'utilise ce qui suit pour me connecter automatiquement à un serveur distant et ensuite exécuter les commandes énumérées dans un commands.txt, comme ceci :

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txt contient ce qui suit :

ps -elf|grep 'sometext'

Cependant, lorsque j'essaie de le faire, une nouvelle fenêtre pour PuTTY apparaît, mais elle se ferme et se termine instantanément après la connexion. Par conséquent, je ne peux pas voir la sortie de la ou des commandes.

Je ne comprends pas ce qui se passe ici. Est-ce que je me trompe dans mon approche ou dois-je prendre d'autres mesures pour que la fenêtre PuTTY fasse une pause pendant un certain temps avant de sortir ?

Réponses (5)

11
11
11
2013-05-03 06:19:49 +0000

Vous devez d'abord créer un fichier séparé contenant toutes les commandes que vous souhaitez exécuter. Exemple

Je voudrais télécharger et installer Drupal sur mon domaine en utilisant PuTTY. Pour ce faire, vous devez :

Créer d'abord un fichier .txt. Dans ce fichier se trouvent les commandes. Les miennes sont : “ drush dl drupal” next line, “drush si –account-name=[nom du compte] –account-pass=[compte pass] –db-url=mysql://[user] :[pass]@localhost/[nom de la base de données] –y

Après avoir enregistré ce fichier, vous allez maintenant créer un fichier BAT ou le taper dans l'invite CMD :

  • ssh. cmd
  • @echo on [pour que vous puissiez voir ce qui se passe]
  • [Naviguer vers votre installation PuTTY. Le mien est :] cd C:\Program Files\Putty
  • Start putty.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]
11
11
11
2012-12-06 06:10:14 +0000

Vous devez utiliser plink.exe (une interface de ligne de commande vers les terminaux PuTTY) et non putty.exe

Vous obtenez cela sur la page de téléchargement de PuTTY

Sans plink:

Il semble que la seule façon soit d'utiliser les options de -log <logfile>, puis d'imprimer son contenu et de le supprimer.

2
2
2
2012-12-06 11:38:36 +0000

Votre approche semble bonne, cependant, il y a un paramètre par défaut dans le comportement qui vous cause des problèmes ici et vous fait probablement croire que rien ne se passe.

Cependant, lorsque j'essaie de le faire, une nouvelle fenêtre pour PuTTY apparaît, mais se ferme et se termine instantanément après la connexion

Votre session se termine immédiatement après l'exécution de la commande, et PuTTY ferme la fenêtre par défaut. Voir la documentation de PuTTY pour savoir comment modifier ce comportement pour votre session.

4.1.3 `Close Window on Exit'

   Finally in the Session panel, there is an option labelled `Close
   Window on Exit'. This controls whether the PuTTY terminal window
   disappears as soon as the session inside it terminates.
2
2
2
2015-05-02 10:13:57 +0000

Il n'y aurait aucun problème si vous vouliez juste créer le fichier de lot pour ouvrir la machine Unix. Voici l'exemple :

"PuTTY path" -ssh machinename -l username -pw password

Le chemin PuTTY doit être entre guillemets, comme “C:\Program Files\putty\putty.ext”

machinename = nom de la machine sans les guillemets

password = avec les guillemets

0
0
0
2014-05-13 09:11:23 +0000

En plus de la réponse d'Aviram :

Voici un exemple de la façon dont vous allez exécuter les commandes PuTTY à partir de l'invite de commande :

  • Allez d'abord dans le répertoire d'installation de PuTTY, par exemple C:\Program Files\PuTTY, puis exécutez la commande ci-dessous :