当前位置: > Linux服务器 > nginx >

ubuntu11.10 nginx日志切换

时间:2015-03-28 00:14来源:linux.it.net.cn 作者:IT
一、crontab添加脚本日志切换
[root@10.10.90.64 ~]# more /usr/local/nginx/conf/log_ch.sh
#!/bin/sh

TODAY=$(date +”%Y%m%d”)
NGINX=/usr/local/nginx

nginxback() {
/bin/mv /usr/local/nginx/logs/$1 /usr/local/nginx/logs/${TODAY}-$1
}

nginxback access.log
nginxback error.log

#重新应用配置文件
#kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

#重新刷新log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

find /usr/local/nginx/logs/ -name ’20*.log’ -mtime +30 | xargs rm -f { } \;

二、logrotate日志切换

在 /etc/logrotate.conf 中添加如下代码:
/opt/nginx/logs/access.log {
rotate 10
daily
compress
missingok
notifempty
sharedscripts
postrotate
/bin/kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` > /dev/null 2>/dev/null || true
endscript
}

使用/etc/sbin/logrotate -f /etc/logrotate.conf进行测试.logrotate.conf参数如下:
参数 功能

compress 通过gzip 压缩转储以后的日志

nocompress 不需要压缩时,用这个参数

copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

nocopytruncate 备份日志文件但是不截断

create mode owner group 转储文件,使用指定的文件模式创建新的日志文件

nocreate 不建立新的日志文件

delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩

nodelaycompress 覆盖 delaycompress 选项,转储同时压缩

errors address 专储时的错误信息发送到指定的Email 地址

ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项

notifempty 如果是空文件的话,不转储

mail address 把转储的日志文件发送到指定的E-mail 地址

nomail 转储时不发送日志文件

olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件夹

prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

daily 指定转储周期为每天

weekly 指定转储周期为每周

monthly 指定转储周期为每月

rotate count 指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份

tabootext [+] list 让logrotate不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig,.rpmsave, v, 和 ~

size size 当日志文件到达指定的大小时才转储,Size可以指定bytes(缺省)以及KB或者MB




(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容