为啥么logrotate 配置日志不轮转

logrotate 进行nginx日志分割[转载] - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了3033字,被5人关注,获得了9个喜欢
logrotate 进行nginx日志分割[转载]
日志分割常用方法:
自己写脚本分割
使用linux自带的logrotate
前者灵活,可以应对各种需求,自定义文件夹、文件名。后者配置简单,使用方便。
下面我们以分割nginx日志为例介绍一下使用logrotate分割日志实例
logrotate简单介绍
logrotate使用cron按时调度执行,日志的执行过程原理为不断改名称:比如你有个access.log文件,需要保留4个日志文件,那么logrotate是这么轮转的:
1. access.log满足轮转条件?(调度时间,日志大小是否满足要求)如果需要轮转则进行下列步骤,否则跳过
2. access.log.3存在?如果存在则删除
3. access.log.2如果存在则改名为access.log.3
4. access.log.1如果存在则改名为access.log.2
5. access.log如果存在则改名为access.log.1
6. 创建一个空的access.log文件
logrotate配置文件一般在:/etc/logrotate.conf 通用配置文件,可以定义全局默认使用的选项。/etc/logrotate.d/xxx 自定义服务配置文件
我们可以看下/etc/logrotate.conf里面的内容
# 一个星期轮转一次
#保留四个日志
# 轮转旧的日志文件后创建新日志文件
# 使用日期作为轮转日志的后缀
# 压缩存储日志
# 包含某个目录下的自定义日志轮转
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
create 0664 root utmp
minsize 1M
/var/log/btmp {
create 0600 root utmp
我们新建一个/etc/logrotate.d/nginx来分割nginx日志,配置文件内容如下:
/data/logs/access.log /data/logs/default.log {
minsize 10M
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
第一行:指明日志文件位置,多个以空格分隔第二行:调用频率,有:daily,weekly,monthly可选第三行:总共轮换多少个日志文件,这里为保留15个第四行:限制条件,大于10M的日志文件才进行分割,否则不操作
sharedscripts用于指明以下是执行轮转前和轮转后自定义执行的命令,比如postrotate和endscript表示,轮转后,执行nginx的重新加载配置文件,避免日志轮转后不写日志。如果要轮转前执行某个命令可以使用prerotate代替postrotate即可,两者可同时存在。
可以通过man logrotate查看更多选项
默认logrotate是通过crontab定期执行的,我们也可以手动执行查看结果:
# logrotate -vf /etc/logrotate.conf
v 选项表示查看详细执行过程**f 表示强制执行日志轮转(不然时间不到,日志文件大小等条件不满足,不会执行)**强烈建议执行一下,了解下执行过程。验证是否执行,查看cron的日志即可
# grep logrotate /var/log/cron
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
服务器想使用logrotate管理分割nginx日志,但是不知道为什么没有效果。如果手动执行logrotate强制rotate日志,能够成功分隔日志。
系统环境是centos 6.4。
下面是配置:
# cat /etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log {
sharedscripts
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ]; then
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
执行sudo logrotate
-dv /etc/logrotate.d/nginx的时候显示log does not need rotating
另外 cat /var/lib/logrotate.status 的时候,发现日志文件确实被标记成已经rotate了。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
终于搞明白了,原来是selinux的问题。chcon -Rv --type=var_log_t /usr/local/nginx/logs/ 为文件加上var_log_t就可以了
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App
SegmentFault
一起探索更多未知Linux运维(70)
1. logrotate 日志轮转工具简介
logrotate的是一款用来进行log 轮转的软件,可以设置某个目录的log 进行 daily weekly monthly 的轮转;
并设置保留日志的时间.
logrotate 轮转的日志应该是root 权限的;因为logrotate& daemon 进程是root 用户启动的。
2.& logrotate 的使用实例
vim /etc/logrotate.conf
vim vim /etc/logrotate.d/syslog-ng
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:539894次
积分:6412
积分:6412
排名:第2792名
原创:228篇
转载:17篇
评论:21条
(3)(1)(6)(6)(1)(21)(23)(5)(3)(6)(8)(3)(4)(2)(1)(2)(2)(1)(3)(1)(1)(2)(8)(5)(4)(3)(5)(8)(2)(1)(2)(5)(2)(4)(3)(1)(4)(2)(4)(10)(11)(2)(5)(1)(5)(8)(4)(4)(8)(16)(4)(1)(1)jyp90s 的BLOG
用户名:jyp90s
文章数:31
访问量:4271
注册日期:
阅读量:5863
阅读量:12276
阅读量:359087
阅读量:1055164
51CTO推荐博文
1,日志的分类(1)内核及系统日志由系统服务syslog统一进行管理 & & & & /var/log/messages & 内核及公共消息日志 & & & & /var/log/cron & & & 计划任务日志 & & & & /var/log/dmesg & & & & & 系统引导日志 & & & & /var/log/maillog & &邮件系统日志 & & & & /var/log/secure & & & & & 记录与访问限制相关日志(2)用户日志记录系统用户登录及退出系统的相关信息 & & & & /var/log/lastlog & &最近的用户登录事件 & & & & /var/log/wtmp & & & & & & 用户登录、注销及系统开关机 & & & & /var/log/btmp & & & & & &失败的用户登陆事件 & & & & /var/run/utmp & & 当前登录的每个用户详细信息(3)程序日志由各种应用程序独立管理的日志文件,记录格式不统一 & & & & WEB服务器的access_log、error_log & & & & Squid代理服务的access.log、cache.log & & & & FTP服务的xferlog…… & &2,logrotate轮转可以很轻松的管理系统所产生的日志,它提供自动压缩、删除、分割日志文件,logrotate日志轮状的优点有:(1)可以分隔,如按天,按月,按年分割日志,减小日志大小,降低分析难度(2)可以及时清除在rotate轮转期限外的多于日志数据(3)结合corn计划任务执行3,下面我们自定义一条轮转规则来说明(1)在系统中自定义一个系统日志[root@localhost ~]# vim/etc/syslog.conf*.* & & & & & & & & & & & & & & & & & & & & & & & & & &/var/log/custom(2)重启syslog服务[root@localhost ~]# servicesyslog restart(3)查看系统日志文件夹[root@localhost ~]# cd /var/log/[root@localhost log]# lsacpid & & & & & conman & & &gdm & & & prelink & & & & & tallyloganaconda.log & &conman.old &lastlog & rhsm & & & & & & &vboxanaconda.syslog cron & & & &mail & & &rpmpkgs & & & & & wtmpanaconda.xlog & cups & & & &maillog & scrollkeeper.log &Xorg.0.logaudit & & & & & custom & & &messages &secure & & & & & &Xorg.0.log.oldboot.log & & & &dmesg & & & pm & & & &setroubleshoot & &yum.logbtmp & & & & & &faillog & & ppp & & & spooler没有刚才建的custom日志(4)自定义logrotate轮转规则[root@localhost logrotate.d]# vim custom/var/log/custom{ & & & &daily & & & &compress & & & &rotate6 & & & &create0664 root root}~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &~ & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &-- 插入-- & & & & & & & & & & & & & & & & & & & & & & & & & 6,2 & & & & &全部(5)强制rotate[root@localhost ~]# logrotate-f /etc/logrotate.conf [root@localhost ~]# logrotate-f /etc/logrotate.conf [root@localhost ~]# logrotate-f /etc/logrotate.conf(6)查看结果[root@localhost log]# cd /var/log/[root@localhost log]# lsacpid & & & & & btmp & & & & custom.3 & & messages.2 & & & &secure.4acpid.1 & & & & btmp.1 & & & custom.3.gz
messages.3 & & & &setroubleshootacpid.2 & & & & conman & & & dmesg & & & &messages.4 & & & &spooleracpid.3 & & & & conman.old & faillog & & &pm & & & & & & & &spooler.1acpid.4 & & & & cron & & & & gdm & & & & &ppp & & & & & & & spooler.2anaconda.log & &cron.1 & & & lastlog & & &prelink & & & & & spooler.3anaconda.syslog cron.2 & & & mail & & & & rhsm & & & & & & &spooler.4anaconda.xlog & cron.3 & & & maillog & & &rpmpkgs & & & & & tallylogaudit & & & & & cron.4 & & & maillog.1 & &rpmpkgs.1 & & & & vboxboot.log & & & &cups & & & & maillog.2 & &scrollkeeper.log &wtmpboot.log.1 & &
& & &maillog.3 & &secure & & & & & &wtmp.1boot.log.2 & & &custom.1.gz &maillog.4 & secure.1 & & & & &Xorg.0.logboot.log.3 & & &custom.2 & & messages & & secure.2 & & & & &Xorg.0.log.oldboot.log.4 & & &custom.2.gz &messages.1 &secure.3 & & & & &yum.log本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
09:27:37 22:37:51}

我要回帖

更多关于 logrotate 配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信