新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 過濾設備日志入庫(perl 版)

        過濾設備日志入庫(perl 版)

        作者: 時間:2016-10-10 來源:網絡 收藏

        腳本的主要功能就是實現了,對于一個設備的日志文件信息過濾,抓取需要的字段,然后插入數據庫,用perl語言實現起來很是方便,配合crontab使用,更是強大!!

        本文引用地址:http://www.104case.com/article/201610/306017.htm

        文件一條記錄:Jun 4 05:08:46 194.168.0.8 61: %SYS-5-CONFIG_I: Configured from console by vty0 (194.168.0.444)

        正則:(S+s+d+s+S+)s+(d+.d+.d+.d+)sS+:s+%(S+):s+(.*)

        腳本源碼

        #!/usr/bin/perl

        use DBI;

        my $log_record;

        my @log_arry;

        my $log_path;

        my $date;

        my $ip;

        my $type;

        my $desc;

        my $line;

        $log_path=/var/log/sourcep.log;

        `/etc/init.d/sysklogd stop`;

        `mv /var/log/source.log /var/log/sourcep.logtouch /var/log/source.log`;

        `/etc/init.d/sysklogd start`;

        my $db=dbi:mysql:dbname=xxxx;

        my $dbh= DBI->connect($db,root,xxxx,{'RaiseError'=>1,'AutoCommit'=>0}) or die Can't connect to DB:.DBI->errstr;

        my $sql=$dbh->prepare(q{INSERT INTO tbl_device(date,ip,type,descon) VALUES (?,?,?,?)});

        my ($date,$ip,$type,$desc);

        if (open(log_1,$log_path)){

        eval{

        while($line=){

        foreach($line){

        /(S+s+d+s+S+)s+(d+.d+.d+.d+)sS+:s+%(S+):s+(.*)/ and do{

        $date= $1;

        $ip = $2;

        $type= $3;

        $desc= $4;

        };# end do

        $sql->execute($date,$ip,$type,$desc);

        print ($datet.$ipt.$typet.$descn);

        } # end for

        } # end while

        $dbh->commit();

        } # end eval

        } # end if

        if($EVAL_ERROR){

        print Transaction aborted: ,$EVAL_ERROR,n;

        $dbh->rollback();

        } # end local if

        $dbh->disconnect();

        `rm /var/log/sourcep.log`;



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 延津县| 镇康县| 民乐县| 江都市| 崇信县| 临沭县| 沽源县| 图片| 津南区| 彰武县| 任丘市| 岳西县| 吉安市| 广水市| 柘荣县| 洞头县| 抚顺市| 特克斯县| 称多县| 项城市| 东台市| 赫章县| 蓬莱市| 霸州市| 双流县| 乌拉特前旗| 苍南县| 南岸区| 泰来县| 大邑县| 五峰| 肇东市| 襄樊市| 阿拉尔市| 依兰县| 吉林市| 建阳市| 邵武市| 文成县| 东台市| 颍上县|