在 FreeBSD 8 上手动进行 Logrotate

在 FreeBSD 8 上手动进行 Logrotate

我可以通过 logroatate 手动轮换任何日志文件,如下所示:

logrotate -f /etc/logrotate.d/my-hourly-file

我想知道如何在 FreeBSD 8 上执行相同的操作?

我的调查表明newsyslog可以用于此目的。如果是的话我该如何下载并安装newsyslog

更新:我认为newsyslog已经安装并修改/etc/newsyslog.conf文件就足够自动安装了。但如何手动触发呢?

Update2:当我搜索从/开始的所有newsyslog单词时,我只找到了/etc/rc.d/newsyslog脚本。在脚本中,我意识到 newsyslog 命令是在 /usr/sbin/newsyslog 下定义的。但/usr/sbin/newsyslog 下没有newsyslog 文件。

我很困惑如何将 newsyslog 包安装到 FreBSD 8 中

答案1

您似乎是 FreeBSD 新手,并且有 Linux 背景。

让我们澄清一些事情——

首先,newsyslog它不是一个包——它是一个程序附带基本 FreeBSD 操作系统。您不必安装它,并且它应该始终存在。
如果/usr/sbin/newsyslog您的系统中缺少该文件,则有人已将其删除(出于我无法理解的原因)——找到以前的系统管理员并找出他们做了什么以及为什么。
(您可能想用棍子打败他们以删除核心操作系统实用程序。)

如果您需要newsyslog尽快返回,您可以从源代码重建它,或者从另一个 8.x 系统复制它。如果你不那么着急,你可以重建并安装world这也将纠正您在继承系统上可能遇到的许多其他问题(您应该首先确保这不会破坏您为修补服务器而采取的任何其他措施,并观察所有警告您进行的红色框备份)。


恢复后,newsyslog您可以强制它通过以下两种方式之一轮换日志文件:

  • newsyslog -Fnewsyslog.conf将强制立即轮换 所有日志文件。
  • newsyslog -R <files>将强制立即轮换指定的文件。

更多信息可以在以下位置找到:手册newsyslog

答案2

您还可以使用 pkg 或 ports collection 安装 logrotate,然后配置 /usr/local/etc/logrotate.conf。所以你不必学习newsyslog。

相关内容