我正在使用 RPM 将二进制文件和一些配置文件安装到 CentOS。我的问题是,我需要找到一种方法来在 RPM 安装期间设置 rsyslog 规则。到目前为止,我只是自己在文件顶部附近手动添加行。除了在 spec 文件中使用 sed 添加行之外,我还有什么选择?
答案1
将以下内容放入您的 rsyslog.conf 中:
$IncludeConfig /etc/rsyslog.d/*.conf
然后让你的 rpm 将文件放入该目录。
答案2
这就是我最终在规范文件 %post 中使用的内容:
if grep -q "MY_SERVICE" /etc/rsyslog.conf
then
echo "do nothing"
else
mv /etc/rsyslog.conf /etc/rsyslog.conf.orig
sed -e'/^#### RULES/a :syslogtag, contains, "MY_SERVICE" \/var\/log\/MY_SERVICE.log\n\& ~' /etc/rsyslog.conf.orig > /etc/rsyslog.conf
fi
service rsyslog restart