脚本输出日志技巧

编写脚本,不间断运行,以10次/s的频率打印如下格式的日志:
192.168.1.1 [03/Dec/2009:14:05:37 +0800] "1231231228397"

日志各个域的说明:
本机IP地址   当前时间   大于10,000,000的随机数

时间要求: 1个工作时

 

vi shell3.sh

#!/bin/bash
##
## 第三个习题 第一问题 最后修改于2011 4.16 10:40
###本机ip地址 以及当前时间信息
IP_ADRESS=`/sbin/ifconfig eth1 |grep "inet addr:" |awk '{print $2}'|cut -c 6-`
DATA=`date +%m"/"%h"/"%Y":"%H":"%M":"%S" "%z`

### 求出当前时间的unix类型时间戳
DATE=`date +%s`

###设定时间范围 工作时间为一小时后面加3600秒
let STOP_DATE=${DATE}+3
####let STOP_DATE=${DATE}+3600
while [ ${DATE} -le ${STOP_DATE} ]
do
        count=1
        while [ ${count} -le 10 ]
        do
                NUM=$RANDOM$RANDOM
                ### 利用RANDOM函数 求出大于8位的随机数值
                echo "${IP_ADRESS} [${DATA}] \"$NUM\"" >> 3.1.LOG
                ((count++))
        done
        sleep 1
        DATE=`date +%s`
done

 

主要学习了,shell循环类似并发形式控制10s打印一次log。