logrotate是否隐藏在OSX上的某个地方,或者有等效名称?它不在/usr/sbin
。
logrotate是否隐藏在OSX上的某个地方,或者有等效名称?它不在/usr/sbin
。
Answers:
根据Brian Armstrong的回答,这里有一些解释和更正的内容。这处理由Homebrew安装的OSX上的postgres创建的日志。位于/etc/newsyslog.d/postgresql.conf
:
# logfilename [owner:group] mode count size(KB) when flags [/pid_file] [sig_num]
/usr/local/var/postgres/postgresql.log : 600 2 2048 * J /usr/local/var/postgres/postmaster.pid
当日志文件大小达到2MB时,它将旋转日志文件,保留2个归档文件(总共使用6MB的存储空间),然后bzip2压缩归档文件。一旦旋转,它将通知postgres进程重新打开日志文件,这对于获取新的日志条目和实际上释放磁盘空间而不重新启动机器是必需的。
请注意,大小以KB为单位,而不是以字节为单位。
您可以使用来测试配置文件(不影响任何文件)sudo newsyslog -nvv
。
newsyslog文档位于此处:http ://www.freebsd.org/cgi/man.cgi?newsyslog.conf(5 )。也使用:http : //www.redelijkheid.com/blog/2011/3/28/adding-custom-logfile-to-os-x-server-log-rotation.html
OS X有几种旋转/过期/等其日志的方式,具体取决于所讨论的日志类型:
logrotate
。它由/etc/newsyslog.conf
和配置/etc/newsyslog.d/*
(通常,您应该添加文件/etc/newsyslog.d/
以将日志添加到其管理列表中)。/var/log/asl/
。我还不完全了解该系统,但是该数据库似乎已被aslmanager清除,该工具由配置/etc/asl.conf
。/Library/Logs/CrashReporter/
),这些文件将通过清除/etc/periodic/daily/100.clean-logs
。其策略(要扫描的目录和文件保留多长时间)已在中配置/etc/defaults/periodic.conf
,但如果要覆盖/更改它们,则应在其中创建/etc/periodic.conf.local
并放置自定义内容。如果您要旋转的脚本不适合所有这些模型,则可以将您自己的脚本添加到/etc/periodic/daily/
(每天早上3:15 am运行),/etc/periodic/weekly/
(每天星期六早上3:15 am运行)或/etc/periodic/monthly/
(第一个每个月的凌晨5:30)。
您可以通过Homebrew获得logrotate。这是我进行设置的注意事项。
brew install logrotate
日志轮转配置文件在 /usr/local/etc/logrotate.d/
编辑配置文件。例如,我想旋转一些我介绍的“ /var/log/tend_*.log”文件:
sudo vi /usr/local/etc/logrotate.d/tend.conf
内容:
/var/log/tend_*.log {
daily
copytruncate
rotate 3
size 10M
compress
}
sudo logrotate -v -f /usr/local/etc/logrotate.d
sudo brew services start logrotate
sudo brew services restart logrotate