邮件检查后的Perl telnet控制

时间:2014-04-15 08:20:55

标签: perl telnet

我是perl脚本的新手, 我必须在下面的perl脚本中添加一个telnet套接字。

如果从主机发送邮件失败,则会打开票证。从数据库收集服务器信息。 但我想在这里添加一个telnet套接字。如果发送邮件失败,我想尝试使用telnet telnet到服务器。如果它连接,请不要打开票证,如果失败,请将其打开。

这可能吗?

这是脚本:

foreach my $id(keys %server)
{
    $sth->execute($id) ;
    my $status = ($sth->fetchrow_array)[0] ;
    $sth->finish() ;
    if (!defined($status)) # Insert it!
    {
        $sth2->execute($id) or die "$runTime - $DBI::err\n" ; 
        $status = 1 ; # first time up
    }

    my $currtime = $time{'yyyy-mm-dd hh:mm:ss'} ;
    print "$server{$id}->{server}, $server{$id}->{port}, $server{$id}->{sender}, $server{$id}->{recipient}\n";

    my $currstat = mySendMail($server{$id}->{server}, $server{$id}->{port}, $server{$id}->{sender}, $server{$id}->{recipient}) ;

    if(defined($currstat)) #Open Ticket 
    {
        $currstat =~ s/[\r\n]+$// ; 
        $currstat =~ s/[\r\n]+/;/g ;
        $currstat = substr($currstat, 0 , 1000) ;
        #cawto "AHDNEW $server{$id}->{asset} mail_check down $currstat", "n=jerry", "c=red" ;
        cawto "AHDNEW $server{$id}->{asset} mail_check down $currstat", "n=serverticket", "c=red" ;
        cawto "AHDNEW $server{$id}->{asset} mail_check down $currstat", "n=sdyydb1", "c=red" ;
        $sth3->execute(2, $currtime, $currstat, $id) or die "$runTime - $DBI::err\n" ; 
        print STDERR "$runTime : $server{$id}->{asset} $currstat- \n" ;
        if ($server{$id}->{asset} =~ /^msite/)
        {
            #cawto "msitefe service recycle $server{$id}->{asset}", "c=red" ;
            print `start C:tool \\service.exe\\\\$server{$id}->{asset} -u msite\\script`;
            sleep 60;
            print `start C:tool \\service.exe\\\\$server{$id}->{asset} -u msite\\script`;           
        }

    }
    else
    {
        print STDERR "$runTime : $server{$id}->{asset} success- \n" ;
        if ($status > 1) #Ticket close
        {

            cawto "AHDNEW $server{$id}->{asset} mail_check up", "n=serverticket", "c=red" ;
            cawto "AHDNEW $server{$id}->{asset} mail_check up", "n=sdyydb1", "c=red" ;
        }
        $sth3->execute(1, $currtime, '', $id) or die "$runTime - $DBI::err\n" ;   

    }



}

0 个答案:

没有答案