Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Salve Linuxers.

    Mais uma vez aqui estou recorrendo aos colegas.

    Preciso arranjar um jeito de que uma aplicação Windows(Delphi) envie um "comando" para meu servidor Linux, para que este rode um script(bash).

    Pensei nesse caso em usar Socket, criando uma aplicação Server em Linux e o Cliente em Delphi. massssssssssssssss não faço idéia de como fazer isso no linux(no caso o server socket).

    Exemplo:

    O cliente(windows) vai conectar no servidor(linux) e vai enviar um "comando", "roda script" e o server vai receber essa string("roda script") e vai rodar o bendito ./script.sh


    Alguma luz? exemplo, tutor, how to, google link ou algo parecido?

    Vlws


  2. Sua idéia é muito interessante... ja tentou fazer com que o Delphi logue via telnet na maquina linux e execute os comandos ??



  3. #3
    ___ .IaRoSsI. ___
    A ideia de conectar por telnet eh legal , mais deixar a porta do telnet aberta nao eh nda seguro , o certo eh usar o socket mesmo.

    Vou passar pra vc o jeito q sei fazer , que eh em perl !

    Desculpe , eu fiz agora pra ti , nao sei nem se eh isso q vc quer mesmo ...



    Código :
    #!/usr/bin/perl
     
    use IO::Socket;
     
    $porta = 50; # aqui a porta que o seu linux vai escutar e seu delphi vai conectar
     
    $Server = IO::Socket::INET->new(LocalPort => $porta,
            Type   => SOCK_STREAM,
            Reuse   => 1,
            Listen  => 100
            ) or die "Impossível criar o socket : $! \n";
    if (fork){ exit;}
     
    $0 = "Executa Script"; # nome do processo , quando vc der um ps ax
     
    while( $Client = $Server->accept() ){
     
      # Cria o sub-processo
      if(fork){
        &transfer($Client);
        exit;
      }
        sleep(1);
    }
    sub transfer(){
        my $Client = shift;
     
        while(<$Client>){
            if($_ =~ /^roda script/) {
               # se o delphi ter um telnet na porta configurada acima e depois escrever
               #roda script
               print $Client "Executando...\n";
               system("sh /script.sh");
               print $Client "Completo...\n";
               shutdown($Client,2);
               return 1; # ou pode coloca exit aqui
             } else {
                print $Client "Comando nao existe\n";
             }
        }
    }

    E soh salvar com socket.pl , depois da um perl socket.pl

    da um telnet localhost 50 pra testar
    digita
    roda script e da enter q ele vai chamar seu script

    depois me diz se ficou blz!

  4. Salve Denis, Deu lhe pague!!!

    era isso mesmo que precisava.... valeu mesmo..

    Agora eu so preciso descobrir como o delhi vai dar um telnet no meu ip, hehehehe..

    Vlw... obrigadao mesmo..




  5. Citação Postado originalmente por cebolark
    Salve Denis, Deu lhe pague!!!

    era isso mesmo que precisava.... valeu mesmo..

    Agora eu so preciso descobrir como o delhi vai dar um telnet no meu ip, hehehehe..

    Vlw... obrigadao mesmo..

    aproveitando.... de uma procurada no google pelo programa Lazarus, voce vai achar interessante..






Tópicos Similares

  1. DNS Server Failure ao rodar script no Mikrotik
    Por bladeblaze no fórum Redes
    Respostas: 1
    Último Post: 26-04-2015, 08:58
  2. SLACK - rodar script no boot...
    Por LordNae no fórum Sistemas Operacionais
    Respostas: 6
    Último Post: 18-07-2006, 09:29
  3. MOVIDO: SLACK - rodar script no boot...
    Por Duca no fórum Servidores de Rede
    Respostas: 0
    Último Post: 17-07-2006, 09:08
  4. Login sem senha no Slackware e rodar script
    Por no fórum Linguagens de Programação
    Respostas: 2
    Último Post: 04-08-2005, 08:19
  5. rodar programa no servidor
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 06-03-2004, 18:19

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L