问题标签 [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 回答
3781 浏览

cron - /var/log/cron 的 logrotate 不起作用?

嗨,我在 /etc/logrotate.d/syslog-ng 中添加了以下行以使 /var/log/cron 旋转。

在我这样做之后,发现 /var/log/cron 的 logrotation 没有发生。此外,在添加这段代码之前曾经工作过的其他文件的 logrotation 也不起作用。我在 /etc/logrotate.conf 中包含了文件 /etc/logrotate.d/

我哪里错了?

我原来的 /etc/logrotate.d/syslog-ng 如下

0 投票
3 回答
7941 浏览

linux - logrotate - 压缩文件修改 x 天数

有没有办法让 logrotate 只压缩 X 天前修改的文件(例如 mtime +2)

0 投票
2 回答
11728 浏览

redis - Redis logrotate 配置

有没有人有 redis 的示例 logrotate 配置?这是我到目前为止所拥有的

但我不确定在旋转后步骤中该怎么做。这是在 Ubuntu 10.04 LTS 上。

0 投票
2 回答
6183 浏览

java - 使用 log4j 或 logrotate.d 轮换 Linux-Java 日志

我有一个在 Linux(Debian、Ubuntu 和 RHEL)上使用 log4j 的 Spring 项目。现在我想为 log4j 生成的日志实现最佳实践日志轮换。

我之前曾将 logrotate.d 用于其他非 Java 组件,它对我来说非常有用。我需要按大小/时间旋转并压缩旧日志,而 logrotate 可以完成所有这些工作。

我是 log4j 的新手,现在想知道如何配置日志轮换。

  1. 我应该只使用 log4j 进行日志记录并使用 logrotate 进行轮换吗?
  2. 仅使用 log4j 进行轮换?
  3. 两者混合使用?

你的经验是什么?最佳做法是什么?

0 投票
4 回答
806 浏览

python - 删除文件时检测python中的损坏流

我的问题是,当日志旋转时,python 程序的日志记录会停止。我已将其追踪到流本身。我看不出有任何方法可以判断流是否从 python 中断。删除文件后,它仍然可以毫无问题地接受写入。

那么,如何确定文件流是否仍然有效?并且检查文件是否存在将无济于事,因为无论流是否仍然有效,文件都将始终存在。

0 投票
0 回答
152 浏览

java - 用于数据库表/文件系统文件的类似 logrotate 的功能

tl;dr 摘要:是否有基于数量、磁盘空间或时间限制数据库表长度和文件系统文件数量的标准解决方案?


我有一个 Java Web 服务,它允许用户运行在内部作为作业处理的操作。为了访问先前运行的作业或异步作业的结果,用户以作业 ID 的形式获取句柄。我将所有这些信息保存在关系数据库(目前是 Apache Derby)的几个数据库表中,因为它比发明一种新的文件格式更方便(而且可能更可靠和性能更高)。实际作业结果在文件系统中保存为 XML 文件。

作业执行可能非常频繁(1/s 及以上),因此表/目录可能会在一段时间后变得非常大。我需要的是一种方法,该方法允许根据

  • 作业计数(最多应保存n个作业及其结果)
  • 表/目录大小(表在硬盘驱动器上最多应占用n GB 空间)
  • 作业运行时间(仅保留最多n天前完成的作业)

我还没有决定采用哪种解决方案,所以灵活性越大越好。我担心当我自己实施此解决方案时,该解决方案可能很容易出错,并且需要一些时间才能使系统变得健壮。我正在开发的软件应该能够运行很长时间而没有任何中断(好吧,谁不会……)。

0 投票
1 回答
15283 浏览

linux - logrotate 在旋转日志/重新创建日志文件时表示权限被拒绝

我是 linux 机器上的 logrotate 新手……这是我在应用程序的 logrotate.d 文件中设置的内容:

我使用 chmod 直接从 bash shell 为运行相关应用程序的帐户设置了 myapp.log 文件的所有者权限。

当应用程序第一次运行时,一切都很好。它记录得很好,一切都很好。但是当日志轮换时,它会删除日志文件,然后尝试重新创建日志文件,并给出权限被拒绝错误:

我知道我在 logrotate 配置文件或 chmod 或其他东西上做错了什么......有人可以指出我正确的方向并帮助我解决问题吗?

0 投票
2 回答
4884 浏览

java - 如何在 Java 或其他平台中创建 logrotate 友好的文件编写器?

在 Java 中实现与logrotate兼容的文件编写器/记录器的最佳实践是什么?目标是允许 logrotate 用于所有日志管理,而不是使用日志 API(Log4J 等)的内置轮换/管理。

除了 Java 之外,我很想听听其他开发平台的评论/答案。

0 投票
2 回答
11244 浏览

logrotate - 基于日志大小时,Logrotate 不会自动轮换

我有一个自定义应用程序 (myApp),它将日志写入文件“/var/log/myApp”。我可以看到正在写入的日志,并且工作正常。现在我正在尝试为此文件设置 logrotate,为此我创建了一个配置文件“/etc/logrotate.d/myApp”,其内容是 -

现在,如果我这样做,logrotate -dv /etc/logrotate.d/myApp我看不到任何错误,以及何时logrotate -f /etc/logrotate.d/myApp执行,即强制 logrotate 旋转日志。但是当日志文件大小超过 10k 时,日志不会自动轮换。任何帮助,将不胜感激。

0 投票
4 回答
45052 浏览

linux - 在 postrotate 脚本之后 logrotate 压缩文件

我有一个应用程序每天生成一个非常重的大日志文件(每天约 800MB),因此我需要压缩它们,但由于压缩需要时间,我希望 logrotate 在重新加载/发送 HUP 信号到应用程序后压缩文件。

压缩是否已经发生在后旋转之后(这会违反直觉)?如果没有,谁能告诉我是否可以在没有额外的命令脚本(一个选项或一些技巧)的情况下做到这一点?

谢谢托马斯