• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    perl 采集入库脚本分享
    #!/usr/bin/perl -w
    use DBI;
    use POSIX qw(strftime);
    my $dbh = DBI->connect(“DBI:mysql:shencan:111.1.32.153:3306″,”shencan”,”shencan”);
    #my $sql = “select * from shencan.LVS”;
    #my $sth = $dbh->prepare($sql);
    #$sth->execute();
    my $HOSTNAME=`hostname`;
    chomp($HOSTNAME);
    my $type;
    my $hostinfo;
    #while($hostname = $sth->fetchrow_hashref())
    #{
    #    print “$hostname->{hostname} $hostname->{hostip}\n”;
    #}
    #my @value;
    #while(@value = $sth->fetchrow_array())
    #{
    #   print “@value\n”;
    #}
    #my $SQL = “update shencan.LVS set node='CBN_CQ' where hostname='CBN-CQ-1-3Z2′”;
    #my $STH = $dbh->prepare($SQL);
    #$STH->execute();
    
    #####MYSQL UPDATE SUB START #####
    sub update{
    my $sql = shift @_;
    my $mysqlupdate = $dbh->prepare($sql);
    $mysqlupdate->execute();
    }
    #####MYSQL UPDATE SUB END #####
    
    #sub SCselect {
    # my $sql = shift @_;
    # my $myselect = $dbh->prepare($sql);
    # $myselect->execute();
    #  while($hostinfo = $myselect->fetchrow_hashref()) { print “$type\n” ;print “$hostinfo->{$type} \n” ;}
    #}
    
    #####MYSQL SELECT SUB START#####
    sub shencan {
    my @shencan = @_;
    foreach $type (@shencan){
    my $sql = “select * from shencan.FC where hostname='$HOSTNAME'”;
    my $myselect = $dbh->prepare($sql);
    $myselect->execute();
    while($hostinfo = $myselect->fetchrow_hashref()) {
    return “$hostinfo->{$type}” ;
    }
    }
    }
    #####MYSQL SELECT SUB END######
    
    #####MYSQL SELECT START #######
    my $FC =shencan “fcversion”;
    chomp($FC);
    my $os = shencan “OS”;
    chomp($os);
    my $arch = shencan “arch”;
    chomp($arch);
    my $fdns =shencan “fdnsversion”;
    chomp($fdns);
    my $ng = shencan “ngversion”;
    chomp($ng);
    my $amr =shencan “amrversion”;
    chomp($amr);
    my $oh =shencan “ohversion”;
    chomp($oh);
    my $dm = shencan “dmversion”;
    chomp($dm);
    my $cpisbin = shencan “cpisbinversion”;
    chomp($cpisbin);
    my $node = shencan “node”;
    chomp($node);
    my $type1 =shencan “type”;
    chomp($type1);
    #####MYSQL SELECT END######
    
    ####CHECK NG VERSION START#####
    my $NG =`rpm -q NG`;
    chomp($NG);
    ####CHECK NG VERSION END#####
    
    ####CHECK AMR VERSION START#####
    my $AMR =`rpm -q AMR`;
    chomp($AMR);
    ####CHECK AMR VERSION END#####
    
    ####CHECK OH VERSION START#####
    my $OH =`rpm -q OH`;
    chomp($OH);
    ####CHECK OH VERSION END#####
    
    ####CHECK DM VERSION START#####
    my $DM =`rpm -q DM`;
    chomp($DM);
    ####CHECK DM VERSION END#####
    
    ####CHECK MFTT VERSION START#####
    my $MFTT =`rpm -q MFTT`;
    chomp($MFTT);
    ####CHECK MFTT VERSION END#####
    
    ####CHECK CPISBIN VERSION START#####
    my $CPISBIN = `rpm -q CPISBIN`;
    chomp($CPISBIN);
    ####CHECK CPISBIN VERSION END#####
    
    ####CHECK NODE START#####
    my @NODE=split(/-/,$HOSTNAME);
    $NODE = “$NODE[0]_$NODE[1]“;
    ####CHECK NODE END#####
    
    ####CHECK ARCH STAR #####
    my $ARCH=`arch`;
    chomp($ARCH);
    #####CHECK ARCH END #####
    
    ####CHECK EP53 STATUS AND UPDATE START#####
    my $ep53 =`dig \@127.0.0.1 www.qq.com >/dev/null  echo ok||echo bad`;
    chomp($ep53);
    update “update shencan.FC set ep53='$ep53′ where hostname='$HOSTNAME'”;
    ####CHECK EP53 STATUS AND UPDATE END#####
    
    ####CHECK EP80 STATUS AND UPDATE START#####
    my $GW=`route -n |awk ‘\$1==”0.0.0.0″{print \$2}'|awk -F”.” ‘{print \$1″.”\$2″.”\$3}'`;
    chomp($GW);
    my $IP=`ip a|grep inet|grep $GW|awk -F”[ /]” ‘{print\$6}'`;
    chomp($IP);
    my $ep80 =`curl -H “Host:www.qq.com” -o /dev/null -s -w “%{http_code}” http://$IP`;
    chomp($ep80);
    update “update shencan.FC set ep80='$ep80′ where hostname='$HOSTNAME'”;
    ####CHECK EP80 STATUS AND UPDATE END#####
    
    print “NG: $NG ARM: $AMR OH: $OH DM: $DM MFTT:$MFTT CPISBIN: $CPISBIN\n”;
    print “$HOSTNAME NODE: $NODE OS: $os arch: $arch FC: $FC fdns: $fdns ng: $ng\n”;
    
    #####CHECK OS START######
    sub OS {
    open (OS,”/etc/issue”);
    @line =OS>;
    $line= $line[0];
    chomp($line);
    my @os =split(/\s+|\(|\)/,$line);
    if($os[0] ge “Red”){
    $SC = “REHL$os[6].$os[10]“;
    }else{
    $SC = “$os[0]$os[2]“;
    }
    }
    
    OS;
    close(OS);
    #####CHECK OS END######
    
    ######CHECK FDNS OR NAME VERSION START######
    open (FDNS,”/etc/ChinaCache/app.d/cpisbm.amr”);
    while(FDNS>){
    if(/RestartCmd/){
    my @fc1 =split(/\s+/,$_);
    my $FC =”$fc1[2]“;
    if($FC ge “named”){
    $FCVER=`/usr/sbin/named -v`;
    chomp($FCVER);
    my @FC1 =split(/\s+/,$FCVER);
    $FCVER1=”$FC1[0]$FC1[1]“;
    
    }else{
    $FCVER=`/FlexiDNS/application/sbin/fdns -v`;
    chomp($FCVER);
    my @FC1 =split(/\s+/,$FCVER);
    $FCVER1=”$FC1[0]$FC1[1]“;
    }
    }
    }
    close(FDNS);
    ######CHECK FDNS OR NAME VERSION END######
    
    #####CHECK FCVERSION AND TYPE START######
    open (FC,”/etc/ChinaCache/app.d/cpisfc.amr”);
    while(FC>){
    if(/RestartCmd/){
    my @squid =split(/\s+/,$_);
    my $SQUID =”$squid[2]“;
    if($SQUID ge “squid”){
    $SQUIDVER=`/usr/local/squid/sbin/squid -v|head -n 1 |awk ‘{print “V”\$4}'`;
    chomp($SQUIDVER);
    $TYPE=”FC5″;
    }else {
    $SQUIDVER=`/usr/local/flexicache/sbin/flexicache -v|awk ‘{print \$3}'`;
    chomp($SQUIDVER);
    $TYPE=”FC6″;
    }
    }
    }
    close(FC);
    #####CHECK FCVERSION AND TYPE END######
    
    ####Change MYSQL #######
    if($SQUIDVER eq $FC){
    }else{
    update “update shencan.FC set fcversion='$SQUIDVER' where hostname='$HOSTNAME'”;
    }
    
    if($NG eq $ng){
    
    }else{
    update “update shencan.FC set ngversion='$NG' where hostname='$HOSTNAME'”;
    }
    if($DM eq $dm){
    
    }else{
    update “update shencan.FC set dmversion='$DM' where hostname='$HOSTNAME'”;
    }
    
    if($AMR eq $amr){
    
    }else{
    update “update shencan.FC set amrversion='$AMR' where hostname='$HOSTNAME'”;
    }
    
    if($OH eq $oh){
    
    }else{
    update “update shencan.FC set ohversion='$OH' where hostname='$HOSTNAME'”;
    }
    
    if($CPISBIN eq $cpisbin){
    
    }else{
    update “update shencan.FC set cpisbinversion='$CPISBIN' where hostname='$HOSTNAME'”;
    }
    if($NODE eq $node){
    
    }else{
    update “update shencan.FC set node='$NODE' where hostname='$HOSTNAME'”;
    }
    
    if($TYPE eq $type1){
    
    }else{
    update “update shencan.FC set type='$TYPE' where hostname='$HOSTNAME'”;
    }
    
    if($FCVER1 eq $fdns){
    }else{
    update “update shencan.FC set fdnsversion='$FCVER1′ where hostname='$HOSTNAME'”;
    }
    
    if($SC eq $os){
    }else{
    update “update shencan.FC set OS='$SC' where hostname='$HOSTNAME'”;
    }
    
    if($ARCH eq $arch){
    }else{
    update “update shencan.FC set arch='$ARCH' where hostname='$HOSTNAME'”;
    }
    
    my $time = strftime “%Y-%m-%d_%H:%M:%S”, localtime;
    chomp($time);
    update “update shencan.FC set lmtime='$time' where hostname='$HOSTNAME'”;

    上一篇:Perl AnyEvent中的watcher实例
    下一篇:perl中使用ip138网站查询ip归属地脚本分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    perl 采集入库脚本分享 perl,采集,入库,脚本,分享,