http://hi.baidu.com/zhenuu/blog/item/d88e932b2be340ede7cd40f6.html

#!/bin/bash


mkdir -p /usr/local/nginx/logs/days


#手工对nginx日志进行切割转换

/usr/sbin/logrotate -vf /etc/logrotate.d/nginx_search

#当前时间

time=$(date -d “yesterday” +”%Y-%m-%d”)

#进入转储日志存放目录

cd /usr/local/nginx/logs/days

#对目录中的转储日志文件的文件名进行统一转换

for i in $(ls ./ | grep “^\(.*\)\.[[:digit:]]$”)

do     mv ${i} ./$(echo ${i}|sed -n ‘s/^\(.*\)\.\([[:digit:]]\)$/\1/p’)-$(echo $time)

done

#对转储的日志文件进行压缩存放,并删除原有转储的日志文件,只保存压缩后的日志文


for i in $(ls ./ | grep “^\(.*\)\-\([[:digit:]-]\+\)$”)

do    tar jcvf ${i}.bz2 ./${i}

rm -rf ./${i}

done

#只保留最近7天的压缩转储日志文件

find /usr/local/nginx/logs/days/* -name “*.bz2″ -mtime 10 -type f -exec rm -rf {} \;