Articles of logrotate

logrotate:保留N个最新的文件,但不要重命名

我有一个服务,在启动时自动创build一个带有时间戳记的文件的日志文件。 因此,我不需要logrotate来重命名/复制/创build文件,但是我想要的是logrotate应该只保留这三个最新的文件(并可以压缩它们)。 我能做些什么吗?

使用logrotate旋转Iptables日志

我正在运行CentOS6,并configuration了rsyslog来监视我的iptables警告消息,并将它们转储到/var/log/iptables.log 。 我经历了我的logrotate.d/syslog文件,并添加iptables.log所以logrotate将拿起并旋转日志。 该文件如下所示: /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler /var/log/iptables.log { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } 但是,当我运行logrotate -f -v logrotate.conf来触发一个强制滚动时,iptables.log文件不会滚动。 为了使logrotate不是iptables文件上的iptables.log-20121014 ,我创build了一个iptables.log-20121014文件。 我运行命令时的输出如下所示: rotating log /var/log/iptables.log, log->rotateCount is 4 dateext suffix '-20121021' 我正在失望。 我如何获得logrotate滚动文件? 我不是100%确定,如果我configuration正确,但我不知道足以确定如果是这样的话。

是否有可能安排一个python脚本运行在logrotate结束?

我在一个没有运行任何javascript的站点上使用Piwik Analytics,我宁愿从访问日志中创build数据,而不是从图片跟踪器中创build数据 – 日志的结果实际上更好,因为它们可以包含静态文件下载。 这是一个Ubuntu 12.04和nginx 1.4.5的LEMP服务器。 python脚本位于/var/www/example1.com/public/piwik/misc/log-analytics/import-logs.py ,需要运行几个选项。 访问日志位于/var/www/example2.com/logs/access.log.1 。 /etc/logrotate.d/nginx的相关部分包含: /var/www/*/logs/*.log { daily missingok rotate 36500 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript postrotate [ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid` endscript } 我不知道如何整合一个python脚本,以便它可以在循环结束后运行(循环完成后)。 编辑: 另外一个我最初没有考虑的问题是,这个脚本只需要运行一个域 […]

修改软件包安装中的现有logrotate文件

我已经创build了一个debian包,它为我有一个服务器上的几个主机名设置了awstats和所需的脚本。 我的问题是与logrotate,我已经更新了一个cron作业,我安装了包,但我需要更新服务器日志prerotate,gthe我使用的服务器,lighttpd,已经在/ etc / logrotate .D /。 我想我可以只是sed文件,并添加endscript更新统计endscript但这不会稍后卸载的包,我怀疑这将生存lighttpd包更新。 有任何想法吗?

如何login每日备份?

在我的公司,我们创build了我们各种东西的每日备份(完整,而不是增量)。 我们想要按照以下方式旋转它们: 保持过去一周的每日备份 只保留过去一个月(或3个月左右)的每周备份 只保留去年的每月备份 所以基本上,最近的备份应该是细粒度的,不是最近的 – 更粗糙的粒度。 而我们懒惰:)这可以用logrotate完成吗? 或者其他一些工具? 问候, 麦克风

logrotate删除文件

在我的服务器上,我有/etc/logrotate.d/apache2 /var/log/apache2/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then /etc/init.d/apache2 reload > /dev/null fi endscript } ~ 我观察到的是我每周都会得到一个gz文件。 我不希望它保存在15天(或100M的大小)结束删除,这怎么能做到? 我需要在上面添加什么? 这是一个Ubuntu 10.04服务器。

我该如何解决Apache需要重新启动以旋转日志的事实?

看起来很“原始”,HTTPD必须重新启动才能旋转日志。 还有其他的方法来完成这个! 请注意,我不使用,也不希望使用AWStats, 解决这个问题的方法之一 。 在专用服务器上使用CentOS 5.x。

Apache访问日志的轮换

我认为我的系统是使用logrotate旋转日志,包括httpd日志 “当前”文件logging在这里/ var / log / httpd /但我只看到最后5天(我认为) 但是我怎么能find以前的日志文件存在的地方。 我以为它们是和现在一样被创造出来的。 我一直在环视,但没有得到任何明智的,任何人谁可以帮助我? 提前致谢, 短发

Logrotate Mysql – 不发生旋转

我使用CentOS5,我有以下版本的mysql: mysql Ver 14.12 Distrib 5.0.77,用于使用readline 5.1的redhat-linux-gnu(i686) 我想使用logrotate旋转mysql的日志。 让我们考虑一下,我只想旋转文件/var/lib/mysql/mysql-log.log作为例子。 我在下面描述了我所遵循的过程,我已经注意到的logrotate行为,然后给出了我的configuration文件的内容。 我遵循这些步骤: 我在/etc/logrotate.d中添加了一个名为mysql的文件(见下面的内容),拥有660个权限(文件属于root) 我试图用命令“logrotate -dv –force /etc/logrotate.conf”强制旋转 我注意到的行为: 由logrotate命令产生的消息似乎向我显示/var/lib/mysql/mysql-log.log已被旋转 实际上,在/ var / lib / mysql /中没有“mysql-log。*”,只有原始文件/var/lib/mysql/mysql-log.log,与执行命令之前一样大。 我现在给你我的onfig文件,而日志的提取产生了我关心mysql的命令logrotate。 /etc/logrotate.conf中 # see "man logrotate" for details # rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after […]

如何去旋转任意命名的日志,并放置在深层嵌套的目录中?

我有几个主机,基本上是开发者的游乐场。 在这些主机上,他们每个人都有一个目录在/ tmp下,他可以自由地做他想做的一切 – 存储文件,写入日志等 当然,日志将被旋转,否则光盘将在一周内100%满。 这些文件可能很多,但是我已经用/tmp/[ae]*/*等path处理了它,并且快乐地生活了一段时间,但是当它们在机器上尝试新的酷东西时, logrotate规则变得很难看,难以pipe理,而且越来越难以理解哪些文件触发了glob。 此外,如果要求旋转套接字,logrotate会发生段错误。 我不想在这种环境下强制执行一些命名策略,我认为这需要花费很多时间,让人们感到烦恼,而且还会在某个时候失败。 而且我仍然需要pipe理日志,而不仅仅是晚上的dir。 那么在这样的情况下写一个能处理这些临时文件的脚本是个好主意吗? 我更喜欢使用标准工具,但是在这里,我认为logrotate越来越不易pipe理。 也许有人听说过一些在这样的环境中能够很好地工作的替代scheme? 我不需要通过电子邮件发送日志或其他一些高级function,所以理论上一些好的评论发现| xargs会做的。 PS我有一个日志聚合器,但这东西是不会碰我的小可爱的logstash机器。