问题标签 [logrotate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
485 浏览

linux - logrotate 再次归档 dateext 归档的日志文件

在我的 CentOS 6.5 上,

几个站点正在运行,我分别设置日志目录。loglotate 每周工作,但结果并不好。它每周再次归档已经归档的日志。

这是 /etc/logrotate.d/sites 文件。

和 /home/siate1/logs/httpd 上的文件列表

问题是什么?

0 投票
2 回答
25213 浏览

cron - ProFTPD 终止(信号 15)错误 - 如何修复 logrotate 重启错误?

Ubuntu 上的 ProFTPD 被意外杀死。

日志消息:

诊断:消息的时间与cron运行logrotate命令的时间相同。

由于日志文件、日志轮换和 ProFTPD 服务器未重新启动,Google 搜索显示了有关 ProFTPD 在基于 Debian 的系统上出现故障的各种信息。

我将为解决此问题添加赏金。我也发布了一个解决方法的答案,以防它对其他人有帮助。

0 投票
2 回答
3211 浏览

tail - “tail -f”和 logrotate 是如何工作的?

当我为日志文件运行 tail -f 时, logrotate 旋转它但 tail -f 没有停止。它继续在新文件中显示日志。之后我手动尝试;

它不起作用。logrotate 如何旋转日志?它是否将所有行复制到新文件?

注意:我正在开发 centos 5。

0 投票
1 回答
1111 浏览

node.js - node.js,集群模式,日志聚合和 logrotate

Node 有一个“集群”模块,使用它可以创建一个父进程来分叉子进程。工作子进程都在同一个套接字上侦听,因此它们之间(以及 CPU 之间)的负载平衡发生在内核中。

这样的过程还必须监视死亡的孩子,然后派生新的孩子,大概有一些指数退避。如果这样的过程将所有孩子的标准输出汇总到一个文件,将他们的标准错误汇总到另一个文件,并支持 SIGHUP 重新打开这些文件(用于 logrotate),那也是非常好的。

如果我理解正确,pm2 可以做到这一点。但是,除了 pm2 - 是否有任何经过实战验证的模块/脚本/包可以做到这一点,还是我必须自己编写?

将节点投入生产的公司是做什么的?

0 投票
0 回答
399 浏览

tomcat - 没有文件重命名的Tomcat日志轮换

我有 tomcat 设置来创建 100 个日志文件,每个文件为 5MB。困扰我的一件事是,一旦正在写入的文件当前达到其大小限制,tomcat 将重命名每个文件。假设 , 的基本名称myFile.logmyFile.log.98被移动myFile.log.99(覆盖myFile.log.99),myFile.log.97将被移动到myFile.log.98...,最后myFile.logmyFile.log.1,并创建一个新myFile.log的。这是很多重命名要经历的。

我想将此重命名策略更改为以下内容:保留一个数字,例如n,每次我们进行日志轮换时都会递增。将当前文件 、myFile.log、 移动到myFile.log.<n>,然后删除文件myFile.log.<n-100>(如果有)。两个文件系统操作。最新的总是具有最高数字的那个。无需重命名。

  • 是否有滚动策略来实施(或实现我不重命名目标的东西)
  • 如果没有,我可以实现一个覆盖原始滚子的类吗
  • 最后,这是一个不合理的问题吗(即,如此不重要,不应该考虑它)

谢谢。

0 投票
1 回答
1953 浏览

glob - 带有 logrotate 的文件名 glob 选项

我想将 logrotate 配置为将 /var/log/apache2/access.log 与写入 /var/log/apache2 的所有其他日志文件分开处理。如果没有明确指定所有其他日志的名称,有没有办法让它工作?

我在网上读到 logrotate 使用 glob 对文件名进行模式匹配,但我似乎无法编写正确的模式。我尝试了很多模式,但它们都出错:

上述模式在 bash 中确实有效,但仅适用于shopt -s extglob. 有没有办法用 logrotate 做到这一点,没有让 apache 将 access.log 写入它自己的目录,或者修改非访问日志文件的名称?

我还尝试通过使用在尝试旋转时失败的 prerotate 脚本来使其工作access.log,但 logrotate 抱怨我试图旋转 access.log 两次:

这是我得到的最接近的:

0 投票
2 回答
3579 浏览

python - 在 logrotate 后 Gunicorn 拿着旧原木

我正在使用 logrotated 来旋转 gunicorn 访问日志。这是我的 logrotated 配置

日志被正确轮换、压缩,并创建了一个新的 access.log。但是,gunicorn 不会释放指向旧日志文件的“指针”,因此旋转实际上并没有释放磁盘空间。

我仍然可以使用它查看条目lsof

如果我这样做initctl restart api,gunicorn 将重新启动,磁盘空间最终被释放。

如何以比重新启动服务更清洁的方式释放磁盘空间?

0 投票
4 回答
3359 浏览

python - 空记录处理程序 - 为什么记录 TimeRoatingFileHandler 不起作用

因此,我执行 logging.config.fileConfig 以从具有控制台和文件处理程序的文件配置设置我的日志记录。然后我做 logging.getLogger(name) 来获取我的记录器和日志。在某些时候,我希望文件处理程序的文件名更改,即日志轮换(由于 Windows 平台的一些问题,我不能使用时间轮换器)所以我调用 logger.handlers - 它显示一个空列表,所以我不能关闭它们!!但是,当我单步调试调试器时,它显然不是空的(当然没有它我将无法正确登录)

不知道这里发生了什么,我错过了什么?

感谢任何帮助。谢谢。

0 投票
1 回答
3185 浏览

nginx - 为什么 logrotate 什么也没做,却没有报错?

答案对您来说可能很明显,但我开始运行我的第一个 logrotate 实例。/etc/logrotate.d 中的配置

然后我用

并得到以下读取配置文件 /etc/logrotate.d/nginx 读取 /mnt/nginx/logs/access.log 的配置信息

完全没有任何改变。它没有抱怨错误。你能帮忙吗?

谢谢

0 投票
1 回答
5496 浏览

linux - 如何配置 php5-fpm.log 的 logrotate?

我在运行 nginx 和 php5-fpm 的 ubuntu 12.04 上启用了error_log = /var/log/php5-fpm.logunder 。/etc/php5/fpm/php-fpm.conf

但我注意到 php5-fpm.log 没有 logrotate。我试图了解从互联网上找到的一些配置,但我不愿意在我的生产服务器上对其进行测试。

以下是我找到的一些配置:

这是配置的链接。据我了解,我所需要的只是创建一个名为php5-fpmunder的文件/etc/logrotate.d/,因此它看起来像/etc/logrotate.d/php5-fpm上面的代码。

我还从这个链接中找到了另一个示例,其中包含以下代码:

由于我是 logrotate 配置的新手,我想确保我将做的事情是正确的。

那么,这两种配置中哪一种是正确的呢?第一个还是第二个?我将只创建一个文件/etc/logrotate.d/php5-fpm并将代码放在那里是否正确?

抱歉,如果这是一个新手问题,我只是找不到有关如何执行此操作的完整解释。