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

Como correr um ficheiro de comandos no PuTTY usando o login automático num prompt de comando?

Estou a usar o seguinte para fazer login automático num servidor remoto e depois correr comandos listados num commands.txt, como este:

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

commands.txt contém o seguinte:

ps -elf|grep 'sometext'

No entanto, quando tento fazê-lo aparece uma nova janela para o PuTTY, mas fecha-se e sai imediatamente após o login. Como resultado, não consigo ver a saída do(s) comando(s).

Não percebo o que se passa aqui. Estou errado na minha abordagem ou preciso de dar mais passos para fazer a janela do PuTTY pausar durante algum tempo antes de sair?

Respostas (5)

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

Primeiro teria de criar um ficheiro separado contendo todos os comandos que gostaria de executar.

Exemplo: Eu gostaria de descarregar e instalar Drupal no meu domínio usando o PuTTY. Para o fazer deve:

Primeiro criar um ficheiro .txt. Dentro desse ficheiro estão os comandos. Os meus são: “ drush dl drupal” próxima linha, “drush si –account-name=[account name] –account-pass=[account pass] –db-url=mysql://[user]:[pass]@localhost/[database name] –y

Depois de guardar esse ficheiro, vai agora criar um ficheiro BAT ou escreva-o no prompt CMD:

  • ssh. cmd
  • @echo on [para ver o que se passa]
  • [Navegue até à sua instalação PuTTY. A minha é:] 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

Deve usar plink.exe (uma interface de linha de comando para os back ends do PuTTY) e não putty.exe

Obtém isso a partir da página PuTTY download page

Without plink:

Parece que a única forma é usar as opções -log <logfile> e depois imprimir o seu conteúdo e apagá-lo.

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

A sua abordagem parece boa, no entanto, há uma configuração padrão no comportamento que está a causar-lhe problemas aqui e provavelmente a fazê-lo acreditar que nada está a acontecer.

No entanto, quando tento fazê-lo aparece uma nova janela para o PuTTY, mas fecha e sai imediatamente após o login

A sua sessão termina imediatamente após o comando ter sido executado, e o PuTTY fecha a janela por defeito. Veja a documentação do PuTTY sobre como alterar este comportamento para a sua sessão.

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

Não haveria problema se você apenas quisesse criar o arquivo de lote para abrir a máquina Unix. Abaixo está o exemplo:

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

O caminho PuTTY deve estar entre aspas duplas, como “C:\Program Files\putty\putty.ext”

machinename = machinename sem aspas duplas

password = com aspas

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

Para além da resposta da Aviram:

Abaixo está o exemplo de como irá executar os comandos PuTTY a partir do prompt de comando:

  • Primeiro vá ao directório de instalação do PuTTY, por exemplo C:\Program Files\PuTTY, e depois execute o comando abaixo: