新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 過濾設備日志入庫(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`;



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 鄂托克前旗| 绥化市| 黔东| 芷江| 清水县| 天台县| 安西县| 嘉定区| 封开县| 尼勒克县| 眉山市| 浪卡子县| 和田县| 林甸县| 沁阳市| 九江县| 绍兴县| 宁河县| 图片| 曲靖市| 绵阳市| 余干县| 温州市| 右玉县| 泸水县| 泗洪县| 大荔县| 栖霞市| 汉阴县| 淮安市| 新和县| 襄城县| 米泉市| 宝山区| 芦山县| 罗平县| 中卫市| 博乐市| 大同县| 平陆县| 正蓝旗|