Java+Windows+Linux

5 respostas
felipeguerra

Boa tarde Srs.,

Dado o seguinte cenário: um programa stand alone Java rodando no windows, precisa se conectar numa máquina Linux navegar na estrutura de diretórios (ou não) e executar um comando em lote (.sh)…

Como faço isso?

Abraço

5 Respostas

T

Use um programa como o sftp (para ler os diretórios e copiar arquivos de forma segura e rápida) e o ssh para executar comandos em lote. Execute esses programas com Runtime.exec.

Uma implementação desses programas está disponível no pacote putty:

http://www.chiark.greenend.org.uk/~sgtatham/putty/

Se você tem de fazer tudo 100% Java e quer ter um monte de dor de cabeça, pode tentar uma implementação Java (procure por JCraft).

felipeguerra

Minha aplicação Java deve fazer tudo isso que citei…

Sobre o JCraft, é FREE?

Valeu

T

É, mas é um pouco difícil de usar.
Se puder, use esses programas mesmo (psftp, pscp, plink) que vêm no pacote do putty.
Uma vantagem de usar o sftp, scp e ssh é que estão normalmente habilitados por default em máquinas Linux (hoje em dia dificilmente uma máquina Linux é acessível via ftp ou telnet, que eram os métodos inseguros e antigos de se fazer a mesma coisa).

felipeguerra

Então, na realidade o usuário vai operar o programa de modo que não deva abrir (por falta de conhecimento) um terminal Putty…

Ou seja, ele tem apenas que que clicar em botões e ler mensagens!

T

Vou dar um exemplo simples (só vou dar o comando do DOS, a integração com o Java é por sua conta):

a) Copie o plink.exe para um diretório no seu PATH.
b) Digamos que o seu sistema use um usuário “thingol” com a senha “lotr” na máquina “beleriand”. Se você quiser listar os arquivos do diretório raiz com " ls /", por exemplo, você executaria:

plink -pw lotr thingol@beleriand “ls /”

Onde está “ls /”, troque por seu comando de lote.

Criado 22 de outubro de 2007
Ultima resposta 22 de out. de 2007
Respostas 5
Participantes 2