Linux shell 截取 Nginx 日志
实例:截取10分钟 nginx 日志
#!/bin/sh
if [[ $(date +%H:%M:00) == "00:00:00" ]] ; then
return
else
MIN=$(date +%M)
HOUR=$(date +%H)
DAY=$(date +%d)
MONTH=$(date +%m)
YEAR=$(date +%Y)
DT=$(date +%Y%m%d)
PATH="/data/$DT/"
if [ ! -d "$PATH" ]; then
echo $PATH
mkdir $PATH
if [[ $(date +%M) == "0"[0-9] ]] ; then
MIN_NOW=60
MIN_LAST=50
temp=`expr $HOUR - 1`
if [[ $temp = [0-9][0-9] ]] ; then
HOUR=$temp
else
HOUR="0"$temp
fi
else
MIN_NOW=$(date +%M)
MIN_LAST=$(date -d "10 minutes ago" +%M)
fi
NOW=06:${MIN_NOW}:00
LAST=06:${MIN_LAST}:00
echo $NOW,$LAST
cat /data/2013_09/19/vodlogCn_06.log | awk -v NOW=$NOW -v LAST=$LAST '{if($5>=LAST && $5<NOW) print $0}' > /data/2013_09/$DT/$HOUR$MIN_LAST.log
echo "$HOUR$MIN_LAST > /data/2013_09/split.flag
fi