使用linux自带的logrotate对nginx日志进行分割
2011-03-15 08:58
926 查看
logrotate日志分割配置:
# cat /etc/logrotate.d/nginx
/data/nginx_logs/*.access_log #nginx日志所在目录
{
nocompress #不对日志文件进行转储压缩
daily #指定转储周期为每天
copytruncate #用于还在打开中的日志文件,把当前日志备份并截断
create #建立新的日志文件
ifempty #即使是空文件也转储
olddir /data/nginx_logs/days #转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
rotate 0 #指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5个备份
}
#####################################################################
日志分割脚本:
#!/bin/bash
#创建转储日志压缩存放目录
mkdir -p /data/nginx_logs/days
#手工对nginx日志进行切割转换
/usr/sbin/logrotate -vf /etc/logrotate.d/nginx
#当前时间
time=$(date -d "yesterday" +"%Y-%m-%d")
#进入转储日志存放目录
cd /data/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 /data/nginx_logs/days/* -name "*.bz2" -mtime 7 -type f -exec rm -rf {} \;
######################################################
#给脚本附上执行权限,放到crontab里执行
#logrotate
0 0 * * * /usr/local/sbin/logrotate-nginx.sh > /dev/null 2>&1
本文出自 “梦~从这里起航” 博客,请务必保留此出处http://mayulin.blog.51cto.com/1628315/515457
# cat /etc/logrotate.d/nginx
/data/nginx_logs/*.access_log #nginx日志所在目录
{
nocompress #不对日志文件进行转储压缩
daily #指定转储周期为每天
copytruncate #用于还在打开中的日志文件,把当前日志备份并截断
create #建立新的日志文件
ifempty #即使是空文件也转储
olddir /data/nginx_logs/days #转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
rotate 0 #指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5个备份
}
#####################################################################
日志分割脚本:
#!/bin/bash
#创建转储日志压缩存放目录
mkdir -p /data/nginx_logs/days
#手工对nginx日志进行切割转换
/usr/sbin/logrotate -vf /etc/logrotate.d/nginx
#当前时间
time=$(date -d "yesterday" +"%Y-%m-%d")
#进入转储日志存放目录
cd /data/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 /data/nginx_logs/days/* -name "*.bz2" -mtime 7 -type f -exec rm -rf {} \;
######################################################
#给脚本附上执行权限,放到crontab里执行
#logrotate
0 0 * * * /usr/local/sbin/logrotate-nginx.sh > /dev/null 2>&1
本文出自 “梦~从这里起航” 博客,请务必保留此出处http://mayulin.blog.51cto.com/1628315/515457
相关文章推荐
- [日志分割回滚] 使用linux自带的logrotate对nginx日志进行分割
- [日志分割回滚] 使用linux自带的logrotate对nginx日志进行分割(脚本)
- [日志分割回滚] 使用linux自带的logrotate对nginx日志进行分割(脚本)
- nginx使用logrotate对日志进行分割
- 使用 logrotate 进行 nginx 日志分割
- CentOS Linux使用logrotate分割管理日志
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计
- 使用logrotate做nginx日志分割
- logrotate 进行nginx日志分割
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计
- logrotate 进行nginx日志分割
- 使用 Linux 自带的 logrotate 程序来控制日志文件尺寸
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计
- 使用logrotate分割nginx日志 当前nginx日志为空
- 使用 Linux 自带的 logrotate 程序来控制日志文件尺寸
- Linux下自动分割Nginx日志文件(三)-----Logrotate
- 使用Logrotate分割Nginx日志
- Linux使用logrotate分割管理日志rsync日志 推荐
- Linux系统使用logrotate进行日志备份
- 使用 logrotate对centos中各服务程序的日志文件进行转储