Ste*_*ett 56 logging mac-osx-server mac-osx logrotate
logrotate是否隐藏在 OSX 上的某个地方,或者是否有等价物?它不在/usr/sbin
.
小智 27
根据布赖恩阿姆斯特朗的回答,这里有一些更多的解释和更正。这将处理由 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
Run Code Online (Sandbox Code Playgroud)
这将在日志文件达到 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
Gor*_*son 22
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 运行),/etc/periodic/weekly/
(每个星期六早上 3:15),或/etc/periodic/monthly/
(第一个每个月的凌晨 5:30)。
bro*_*ofa 15
您可以通过 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
Bri*_*ong 11
newsyslog
在 OSX 上自动运行,我使用这样的配置文件/etc/newsyslog.d/rails_apps.conf
将我的开发日志文件修剪为 5MB
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/Users/barmstrong/code/**/log/*.log 666 0 5242880 * G
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19754 次 |
最近记录: |