我可以通过 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 -F
newsyslog.conf
将强制立即轮换 所有日志文件。newsyslog -R <files>
将强制立即轮换指定的文件。
更多信息可以在以下位置找到:手册newsyslog
页
答案2
您还可以使用 pkg 或 ports collection 安装 logrotate,然后配置 /usr/local/etc/logrotate.conf。所以你不必学习newsyslog。