FreeBSD下如何在newsyslog.conf.d配置文件中指定归档目录?
在FreeBSD的newsyslog中指定归档目标目录
针对你在/usr/local/etc/newsyslog.conf.d/my_site里的配置需求,其实newsyslog提供了两种实用的方式来指定自定义归档目录,下面详细说明:
方法1:针对单个日志文件指定归档目录(推荐)
newsyslog默认会把归档后的日志文件存放在原日志的同一目录下,但你可以通过**在原日志路径后追加:归档目标目录**的扩展语法来修改存放位置。
比如你的原配置行是:
/path/to/site/log/site.access_log 644 7 1048576 * GCZ /var/run/nginx.pid 30
如果想把归档文件放到/var/log/archives/my_site目录,只需修改第一个字段:
/path/to/site/log/site.access_log:/var/log/archives/my_site 644 7 1048576 * GCZ /var/run/nginx.pid 30
注意:请提前创建好目标归档目录(比如执行
mkdir -p /var/log/archives/my_site),确保newsyslog有读写权限(newsyslog通常以root运行,权限一般没问题)。
方法2:全局统一设置归档目录
如果需要给多个日志文件统一配置归档目录,可以在主配置文件/etc/newsyslog.conf中添加archive_dir全局指令:
archive_dir /var/log/archives
这个设置会应用到所有没有单独指定归档目录的日志条目,适合批量配置的场景。
补充说明
newsyslog的配置格式里没有单独的字段用于指定归档目录,这也是你可能在文档中没直接找到相关配置的原因——这个功能是通过日志路径字段的扩展语法实现的,你可以通过执行man newsyslog查看手册中关于日志文件路径的章节,里面会明确提到这个冒号分隔的用法。
内容的提问来源于stack exchange,提问作者LongHike
相关产品推荐
相关产品推荐

