J'utilise les éléments suivants pour me connecter automatiquement à un serveur distant, puis exécuter les commandes répertoriées dans a commands.txt
, comme ceci:
C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt
commands.txt
contient les éléments suivants:
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 ferme 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. Ai-je tort dans mon approche ou dois-je prendre plus de mesures pour faire une pause de la fenêtre PuTTY pendant un certain temps avant de quitter?
command-line
ssh
unix
putty
Peter Mortensen
la source
la source
Réponses:
Vous devez utiliser
plink.exe
(une interface de ligne de commande pour les backends PuTTY) et nonputty.exe
Vous l'obtenez sur la page de téléchargement de PuTTY
Sans plink:
Il semble que le seul moyen consiste à utiliser les
-log <logfile>
options, puis à imprimer son contenu et à le supprimer.la source
-log
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éez d'abord un fichier .txt. Dans ce fichier se trouvent les commandes. Les miens sont: " drush dl drupal " ligne suivante, " drush si --account-name = [account name] --account-pass = [account 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 saisir dans l'invite CMD:
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]
la source
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.
Votre session se termine immédiatement après l'exécution de la commande et PuTTY ferme la fenêtre par défaut. Consultez la documentation de PuTTY pour savoir comment modifier ce comportement pour votre session.
la source
session-noclose
et utilisez-la dans les scripts.Il n'y aurait aucun problème si vous souhaitez simplement créer le fichier batch pour ouvrir la machine Unix. Voici l'exemple:
Le chemin PuTTY doit être entre guillemets, comme "C: \ Program Files \ putty \ putty.ext"
machinename = machinename sans guillemets doubles
mot de passe = avec guillemets
la source
En plus de la réponse d'Aviram:
Voici l'exemple de la façon dont vous exécuterez les commandes PuTTY à partir de l'invite de commande:
Tout d' abord aller dans le répertoire d'installation PuTTY, par exemple
C:\Program Files\PuTTY
, puis exécutez la commande ci - dessous:la source