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

Come eseguire un file di comandi in PuTTY usando il login automatico in un prompt dei comandi?

Sto usando il seguente metodo per eseguire automaticamente il login ad un server remoto e poi eseguire i comandi elencati in un commands.txt, come questo:

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt
``` ```
ps -elf|grep 'sometext'

commands.txt contiene quanto segue:

&001 &001

Tuttavia, quando provo a farlo appare una nuova finestra per PuTTY, ma si chiude ed esce immediatamente dopo il login. Di conseguenza, non riesco a vedere l'uscita del comando o dei comandi.

Non capisco cosa stia succedendo qui. Sbaglio il mio approccio o devo fare altri passi per mettere in pausa la finestra di PuTTY per un po’ di tempo prima di uscire?

Risposte (5)

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

Per prima cosa è necessario creare un file separato contenente tutti i comandi che si desidera vengano eseguiti.

Esempio: Vorrei scaricare e installare Drupal sul mio dominio usando PuTTY. Per fare questo è necessario:

Prima di tutto creare un file .txt. All'interno di quel file ci sono i comandi. I miei sono: “drush dl drupal” riga successiva, “drush si –account-name=[nome account] –account-pass=[account pass] –db-url=mysql://[user]:[pass]@localhost/[nome database] –y

Dopo aver salvato quel file, ora creerai un file BAT o lo digiterai nel prompt CMD:

  • ssh. cmd
  • @echo su [per vedere cosa sta succedendo]
  • [Naviga alla tua installazione di PuTTY. Il mio è:] 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

Si dovrebbe usare plink.exe (un'interfaccia a riga di comando per le estremità posteriori di PuTTY) e non putty.exe

Si ottiene dalla pagina di download di PuTTY

Senza plink:

Sembra che l'unico modo sia quello di usare le opzioni -log <logfile> e poi stampare il suo contenuto e cancellarlo.

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

Il vostro approccio sembra buono, tuttavia, c'è un'impostazione predefinita nel comportamento che vi sta causando problemi qui e che probabilmente vi fa credere che non stia succedendo nulla.

Tuttavia, quando cerco di farlo appare una nuova finestra per PuTTY, ma si chiude ed esce immediatamente dopo il login

La vostra sessione termina immediatamente dopo l'esecuzione del comando, e PuTTY chiude la finestra di default. Vedere la documentazione di PuTTY su come cambiare questo comportamento per la vostra sessione.

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

Non ci sarebbero problemi se si volesse solo creare il file batch per aprire la macchina Unix. Di seguito è riportato l'esempio:

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

Il percorso PuTTY dovrebbe essere tra virgolette, come “C:\Program Files\putty\putty.ext”

machinename = machinename senza doppie virgolette

password = con virgolette

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

Oltre alla risposta di Aviram:

Di seguito è riportato un esempio di come si eseguono i comandi PuTTY dal prompt dei comandi:

  • Andare prima nella directory di installazione di PuTTY, ad esempio C:\Program Files\PuTTY, e poi eseguire il comando seguente: