把前一分钟nginx的日志导入数据库中。
#!/bin/bash
#获取某个时间点的nginx的日志,插入数据库
user=admin
password=12345
nginx_dir=/nginx/logs/access.log
date_time=`date '+%d/%b/%Y:%k:%M' -d '-1 min'`
date_now=`date '+%Y-%m-%d'`
grep "$date_time" $nginx_dir | while read line
do
#这里有几种写法,但是效率上估计差不多
eval $(echo "$line" |awk -F'|' '{printf("remote_addr=%s;status=%s;body_bytes_sent=%s;bytes_sent=%s;http_referer=%s;request_time=%s;upstream_addr=%s;upstream_respone_time=%s;upstream_status=%s",$1,$4,$5,$6,$7,$9,$10,$11,$12);}')
locat_time=`echo $line|awk -F'[|:" "]' '{print $3"