On Wed, 4 Apr 2001, Leonardo wrote:

> Mas nao é bem isso que eu quero.  Eu quero é por no crontab para a
> cada 1 hora um script que faça com que o telnet abra uma conexao com
> determinado host/porta e mande um string para ele.


Voce pode usar o EXPECT, mas tem o inconveniente de ser uma linguagem
nova (TCL).

O telnet é uma conexão TCP, você pode usar qualquer linguagem script
que abra uma conexão TCP.

O perl pode ser uma opção.  Existem muitas bibliotecas no CPAN que
fazem isso com grande facilidade.

O script abaixo é um exemplo que fiz para aprender um pouco sobre TCP
no Perl, você pode adapta-lo para sua necessidade.  Não vou comentar
sobre o programinha, pode ser que exista solução mais simples para seu
problema.

#!/usr/bin/perl

#use strict;
use Socket;

sub Open_Line {
    my ($F, $dest, $port) = @_;

    socket ($F, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || return undef;

    if ($port =~ /\D/) {
        $port = getservbyname($port, 'tcp');
    }
    return undef if !$port;
    if ($dest !~ /\b\d+\.\d+\.\d+\.\d+\/\b/) {
        $dest = gethostbyname ($dest);
    }
    else {
        $dest = inet_aton($dest);
    }
#   print "address = ", inet_ntoa($dest), "\n";
    my $iaddr = sockaddr_in ($port, $dest);
    connect ($F, $iaddr) || return undef;
    my($x) = select($F); $|=1; select($x);
    return 1;
}

#-----------------------------------------------

$host = "localhost"     # coloque o nome ou o IP do host
$port = "80"            # coloque o numero da porta, ou o nome do serviço


Open_Line (XX, $host, $port) || die "Erro: $!\n";

print XX "alguma coisa\n";

close (XX);

# end of file


--- Wagner                      [EMAIL PROTECTED]


Assinantes em 04/04/2001: 2204
Mensagens recebidas desde 07/01/1999: 107797
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a