Usuario del software
2012-12-06 05:54:59 +0000 2012-12-06 05:54:59 +0000
20

¿Cómo se ejecuta un archivo de comando en PuTTY usando el inicio de sesión automático en un símbolo del sistema?

Estoy usando lo siguiente para iniciar sesión automáticamente en un servidor remoto y luego ejecutar los comandos listados en un commands.txt, así:

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

commands.txt contiene lo siguiente:

ps -elf|grep 'sometext'

Sin embargo, cuando intento hacerlo aparece una nueva ventana para PuTTY, pero se cierra y sale instantáneamente después de iniciar sesión. Como resultado, no puedo ver la salida de los comandos.

No entiendo lo que está pasando aquí. ¿Estoy equivocado en mi enfoque o necesito tomar más medidas para que la ventana de PuTTY se detenga un tiempo antes de salir?

Respuestas [5]

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

Primero necesitarías crear un archivo separado que contenga todos los comandos que quieres que se ejecuten.

Ejemplo: Me gustaría descargar e instalar Drupal en mi dominio usando PuTTY. Para ello debes:

Primero crea un archivo .txt. Dentro de ese archivo están los comandos. Los míos son: "drush dl drupal" siguiente línea, "drush si --account-name=[nombre de la cuenta] --account-pass=[account pass] --db-url=mysql://[usuario]:[pass]@localhost/[nombre de la base de datos] --y"

Después de guardar ese archivo, vas a crear un archivo BAT o escribirlo en el prompt del CMD:

  • ssh. cmd
  • @echo on [para que veas lo que está pasando]
  • [Navega a tu instalación PuTTY. La mía es:] cd C:\Archivos de programa\N-puta
  • 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
2012-12-06 06:10:14 +0000

Debes usar plink.exe (una interfaz de línea de comandos para los back ends de PuTTY) y no putty.exe

Eso lo obtienes de la página de descarga de PuTTY

Sin plink:

Parece que la única manera es usar las opciones de -log <logfile> y luego imprimir su contenido y borrarlo.

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

Su enfoque parece bueno, sin embargo, hay una configuración por defecto en el comportamiento que le está causando problemas aquí y probablemente le hace creer que no está pasando nada.

Sin embargo, cuando intento hacerlo aparece una nueva ventana para PuTTY, pero se cierra y sale instantáneamente después de iniciar la sesión

Su sesión termina inmediatamente después de que el comando fue ejecutado, y PuTTY cierra la ventana por defecto. Vea la documentación de PuTTY sobre cómo cambiar este comportamiento para su sesión.

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
2015-05-02 10:13:57 +0000

No habría ningún problema si sólo quieres crear el archivo por lotes para abrir la máquina Unix. Abajo está el ejemplo:

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

La ruta PuTTY debería estar entre comillas dobles, como "C:\Archivos de Programa\putty\putty.ext"

nombre de máquina = nombre de máquina sin comillas

contraseña = con comillas

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

Además de la respuesta de Aviram:

A continuación se muestra el ejemplo de cómo se ejecutarán los comandos de PuTTY desde la línea de comandos:

  • Primero vaya al directorio de instalación de PuTTY, por ejemplo C:\Program Files\PuTTY, y luego ejecute el siguiente comando:
0