Estou usando o seguinte para fazer login automaticamente em um servidor remoto e, em seguida, executar os comandos listados em a 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 fazer isso, uma nova janela para o PuTTY aparece, mas fecha e sai instantaneamente após o login. Como resultado, não consigo ver a saída do (s) comando (s).
Eu não entendo o que está acontecendo aqui. Estou errado na minha abordagem ou preciso tomar mais medidas para que a janela do PuTTY seja interrompida por algum tempo antes de sair?
command-line
ssh
unix
putty
Peter Mortensen
fonte
fonte
Respostas:
Você deve usar
plink.exe
(uma interface de linha de comando para os back-ends PuTTY) e nãoputty.exe
Você obtém isso na página de download do PuTTY
Sem plink:
Parece que a única maneira é usar as
-log <logfile>
opções, imprimir o conteúdo e excluí-lo.fonte
-log
Primeiro você precisaria criar um arquivo separado contendo todos os comandos que você gostaria de executar.
Exemplo: eu gostaria de baixar e instalar o Drupal no meu domínio usando o PuTTY. Para fazer isso, você deve:
Primeiro, crie um arquivo .txt. Dentro desse arquivo estão os comandos. Os meus são: " drush dl drupal " próxima linha ", drush si - nome da conta = [nome da conta] - passe da conta = [passe da conta] - db-url = mysql: // [usuário]: [passe ] @ localhost / [nome do banco de dados] --y "
Depois de salvar esse arquivo, agora você irá criar um arquivo BAT ou digitá-lo no prompt do 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]
fonte
Sua abordagem parece boa, no entanto, há uma configuração padrão no comportamento que está causando problemas aqui e provavelmente fazendo você acreditar que nada está acontecendo.
Sua sessão termina imediatamente após a execução do comando e o PuTTY fecha a janela por padrão. Consulte a documentação do PuTTY sobre como alterar esse comportamento para sua sessão.
fonte
session-noclose
e use essa na criação de scripts.Não haveria problema se você apenas desejasse criar o arquivo em lotes para abrir a máquina Unix. Abaixo está o exemplo:
O caminho PuTTY deve estar entre aspas duplas, como "C: \ Arquivos de Programas \ putty \ putty.ext"
nome da máquina = nome da máquina sem aspas duplas
password = com aspas
fonte
Além da resposta de Aviram:
Abaixo está o exemplo de como você executará os comandos PuTTY no prompt de comando:
Primeiro, vá para o diretório de instalação do PuTTY, por exemplo
C:\Program Files\PuTTY
, e depois execute o comando abaixo:fonte