最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

perl 采集入庫腳本分享

 更新時(shí)間:2014年09月18日 10:13:51   投稿:junjie  
這篇文章主要介紹了perl 采集入庫腳本分享,本文是以前自己用的腳本,使用的Mysql數(shù)據(jù)庫,需要的朋友可以參考下
#!/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'”;

相關(guān)文章

  • perl ping檢測功能腳本代碼

    perl ping檢測功能腳本代碼

    領(lǐng)導(dǎo)有任務(wù),給一批IP列表,ping每一臺(tái)機(jī)器,如果沒有響應(yīng)就發(fā)郵件通知,通知的郵件需要分開,不能通知一個(gè)列表,得一封一封的通知
    2013-02-02
  • 一個(gè)perl擴(kuò)展正則表達(dá)式代碼分析

    一個(gè)perl擴(kuò)展正則表達(dá)式代碼分析

    今天傍晚回來翻了翻perlre文檔,基本算是看懂,趕緊記錄下來
    2013-02-02
  • perl處理json的序列化和反序列化

    perl處理json的序列化和反序列化

    perl可以使用JSON模塊很方便的處理json的序列化和反序列化,本文通過一個(gè)簡單例子給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • perl 文件操作總結(jié)

    perl 文件操作總結(jié)

    perl 文件操作總結(jié),需要的朋友可以參考下
    2013-02-02
  • Perl中的文件讀寫學(xué)習(xí)筆記

    Perl中的文件讀寫學(xué)習(xí)筆記

    這篇文章主要介紹了Perl中的文件讀寫學(xué)習(xí)筆記,本文講解了打開、關(guān)閉文件、讀文件、寫文件、判斷文件狀態(tài)等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • perl Socket編程實(shí)例代碼

    perl Socket編程實(shí)例代碼

    Perl的networking 功能非常強(qiáng)大,基本上用c/c++能做的事perl都能做,而且做得更輕松方便,甚至可以只用10來行代碼就完成了c/c++要幾十上百甚至幾百行才能完成得好的工作
    2013-02-02
  • cpan安裝Net::SSH::Perl中遇到的一些問題

    cpan安裝Net::SSH::Perl中遇到的一些問題

    cpan安裝Net::SSH::Perl中遇到的一些問題,需要的朋友可以參考下
    2013-02-02
  • perl數(shù)組的多數(shù)字下標(biāo)示例代碼

    perl數(shù)組的多數(shù)字下標(biāo)示例代碼

    perl數(shù)組中正常的下標(biāo)運(yùn)算,想必大家都比較熟悉,這里不作說明。本文想說的是perl數(shù)組下標(biāo)的多數(shù)字取值,可以極大的方便數(shù)組的操作
    2013-02-02
  • Perl使用nginx FastCGI環(huán)境做WEB開發(fā)實(shí)例

    Perl使用nginx FastCGI環(huán)境做WEB開發(fā)實(shí)例

    這篇文章主要介紹了Perl使用nginx FastCGI環(huán)境做WEB開發(fā)實(shí)例,實(shí)現(xiàn)了路由系統(tǒng)和模板系統(tǒng),需要的朋友可以參考下
    2014-06-06
  • perl 交叉編譯詳解

    perl 交叉編譯詳解

    Perl設(shè)計(jì)的初衷是為了更好地處理文本處理任務(wù),但隨著時(shí)間的發(fā)展,現(xiàn)在它已經(jīng)變成了一種強(qiáng)大的一般目的編程語言,Perl是一種高級(jí)、通用、解釋型、動(dòng)態(tài)的編程語言,本文給大家介紹perl 交叉編譯的相關(guān)知識(shí),感謝的朋友跟隨小編一起看看吧
    2024-04-04

最新評(píng)論

岚皋县| 西和县| 金平| 曲松县| 兴国县| 平南县| 铜川市| 尚志市| 舒城县| 松原市| 泸溪县| 会东县| 中江县| 从化市| 铁岭县| 凤山市| 酒泉市| 茶陵县| 南汇区| 清镇市| 来凤县| 林西县| 遵义县| 霸州市| 仙桃市| 永德县| 承德市| 万山特区| 西华县| 丁青县| 运城市| 循化| 白银市| 乐平市| 鄱阳县| 西吉县| 哈尔滨市| 济南市| 方城县| 永兴县| 巩留县|