linux日志分割处理工具logrotate
来源:互联网 发布:3d签到墙源码 编辑:程序博客网 时间:2024/05/22 15:29
logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。
logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。
Logrotate是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」
实际运行时,Logrotate会调用配置文件「/etc/logrotate.conf」
这里的设置可以理解为Logrotate的缺省值,当然了,可以我们在「/etc/logrotate.d」目录里放置自己的配置文件,用来覆盖Logrotate的缺省值。
logrotate 是安装系统时就可以装上去的,很多的大流量网站都是使用这个来进行Log的切换。
不用 Kill nginx pid, 不用restart nginx,只要重新载入一下就可以了。
nginx日志分割:
在/etc/logrotate.d/目录下生成nginx文件
/mnt/nginx/logs/*.log { //注意:具体请以自己的nginx日志为准
daily //每天切割
dateext //%Y%m%d作为后缀
missingok //日志不存在,分析下一个
rotate 20 //保留最近的20个备份
compress //切换之后压缩.tar.gz
notifempty //空文件不转储
create 640 root root //新日志文件模式 root 是使用的用户
sharedscripts //整个日志组运行一次的脚本
postrotate
/mnt/nginx/sbin/nginx reload > /dev/null 2>/dev/null || true
endscript
}
如果你等不及CRON,可以通过如下命令来手动执行:
shell> logrotate -f /etc/logrotate.d/nginx
当然,正式执行前最好通过Debug选项来验证一下,这对调试也很重要,验证的过程不会真的转存:
shell> logrotate -d -f /etc/logrotate.d/nginx
Logrotate的备份策略(以两个备份来说明,即rotate 2,文件error.log):原始文件error.log,经过一次转储,会生成error.log.1;第二次转储,生成error.log.2;第三次转储,error.log.n命名为error.log.n+1,同时生成新的error.log.1,删除error.log.n+1文件。
日志切割的执行时间是由cron程配置决定的,可查看/etc/crontab文件(cron时间戳格式:分时日月周)
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
//重启nginx,重新加载日志文件,防止不写
`cp -f /var/log/nginx/*.* /var/log/nginx/backup`
//自定义脚本,将旧日志copy到backup文件夹(backup要存在)
cat /var/lib/logrotate.status
logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。
Logrotate是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」
实际运行时,Logrotate会调用配置文件「/etc/logrotate.conf」
这里的设置可以理解为Logrotate的缺省值,当然了,可以我们在「/etc/logrotate.d」目录里放置自己的配置文件,用来覆盖Logrotate的缺省值。
logrotate 是安装系统时就可以装上去的,很多的大流量网站都是使用这个来进行Log的切换。
不用 Kill nginx pid, 不用restart nginx,只要重新载入一下就可以了。
nginx日志分割:
在/etc/logrotate.d/目录下生成nginx文件
/mnt/nginx/logs/*.log { //注意:具体请以自己的nginx日志为准
daily //每天切割
dateext //%Y%m%d作为后缀
missingok //日志不存在,分析下一个
rotate 20 //保留最近的20个备份
compress //切换之后压缩.tar.gz
notifempty //空文件不转储
create 640 root root //新日志文件模式 root 是使用的用户
sharedscripts //整个日志组运行一次的脚本
postrotate
/mnt/nginx/sbin/nginx reload > /dev/null 2>/dev/null || true
endscript
}
如果你等不及CRON,可以通过如下命令来手动执行:
shell> logrotate -f /etc/logrotate.d/nginx
当然,正式执行前最好通过Debug选项来验证一下,这对调试也很重要,验证的过程不会真的转存:
shell> logrotate -d -f /etc/logrotate.d/nginx
Logrotate的备份策略(以两个备份来说明,即rotate 2,文件error.log):原始文件error.log,经过一次转储,会生成error.log.1;第二次转储,生成error.log.2;第三次转储,error.log.n命名为error.log.n+1,同时生成新的error.log.1,删除error.log.n+1文件。
日志切割的执行时间是由cron程配置决定的,可查看/etc/crontab文件(cron时间戳格式:分时日月周)
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
//重启nginx,重新加载日志文件,防止不写
`cp -f /var/log/nginx/*.* /var/log/nginx/backup`
//自定义脚本,将旧日志copy到backup文件夹(backup要存在)
cat /var/lib/logrotate.status
0 0
- linux日志分割处理工具logrotate
- logrotate 日志分割工具
- Linux日志文件分割(Logrotate)
- Linux日志处理:Logrotate
- logrotate 日志分割工具的配置使用
- logrotate seek 日志分割
- logrotate seek 日志分割
- 日志分割logrotate
- logrotate分割日志
- linux】利用logger,logrotate处理脚本日志
- linux 周期归档rails log logrotate日志分割
- logrotate 进行nginx日志分割
- rails日志分割------- 借助logrotate
- 使用Logrotate分割Nginx日志
- logrotate日志分割流程分析
- 日志工具:logrotate
- logrotate工具清理日志
- linux 日志切割logrotate
- MYSQL基础(DQL)
- 匈牙利算法
- Deep learning:一(基础知识_1)
- UIIMageView实现帧动画
- Deep learning:二(linear&nb…
- linux日志分割处理工具logrotate
- 使用nexus搭建maven私服、手动更新索引
- Deep learning:三(Multivari…
- Deep learning:四(logistic&…
- Deep learning:四十九(RNN-R…
- 面试题
- Deep learning:五(regulariz…
- Deep learning:三十五(用NN…
- 接上篇用NN降维