Como envio um comando para uma caixa do Linux a partir de uma caixa do Windows em um script?

1

O problema: Eu tenho um programa de backup (BackupAssist) que pode executar scripts automaticamente após um backup. Desejo desligar automaticamente o computador que armazena meus backups externos após a conclusão do backup. Eu tenho a parte de desligamento funcionando (com chaves em vez de senhas para que funcione em um script), mas eu não sei como enviar um comando para a caixa do Linux sem usar um shell interativo como o Cygwin.

Eu preciso enviar o comando sem nenhuma interação com o usuário. Uma maneira de simplesmente executar comandos do Cygwin em scripts seria ideal, mas qualquer solução servirá.

    
por ChimneyImp 13.06.2012 / 22:53

3 respostas

2
O

plink é um cliente ssh para Windows.

Você também pode usar o cliente ssh do OpenSSH da Cygwin.

Você precisará ter o sshd em execução e disponível em sua máquina Linux. Se você quer rodar automatizado, você provavelmente quer usar chaves ssh sem senha para isso.

    
por 13.06.2012 / 23:14
0

Se você deseja executar o SSH no Cygwin a partir de um arquivo de lote, tente:

@echo off
C:\cygwin\bin\bash ssh user@host 'shutdown -h now'

Aviso justo, não tenho uma caixa do Windows para testar isso.

    
por 14.06.2012 / 00:41
0

Se você tiver acesso a ssh do Cygwin, ssh user@host <command> executará <command> no lugar do shell de login. Alternativamente, você pode usar plink.exe de PuTTY no lugar do ssh do Cygwin. (Obrigado caramba)

Você também pode executar vários comandos, por exemplo,

ssh user@host "first_command ; second_command ; ..."

    
por 13.06.2012 / 23:01