根据公司需求 自己编写的perl脚本

希望可以帮到大家

 

#!/usr/bin/perl

 

while(1){

        open (LOG,">> /var/log/flow.log");       日志记录

        my ($rx_old,$tx_old)=&data;  定义环境变量可用my也可用local

        sleep 3; 3秒后执行下列命令

        my($rx_new,$tx_new)=&data; 函数调用

        my $rx=($rx_new-$rx_old)/1000; 转换成KB

        my $tx=($tx_new-$tx_old)/1000;

        $rx=sprintf"%.2f",$rx; 定义打印格式

        $tx=sprintf"%.2f",$tx;

        my $total=$rx+$tx;

        printf LOG "$time rx=$rx KB tx=$tx KB total=$total KB\n";

}

sub data{

        my ($rx,$tx)=`ifconfig eth0|grep \'RX bytes\'|awk \'{print \$2,\$6}\'|sed \'s/bytes://g\'` or die "Cant catch the new

}  定义函数