尝试使用线路食谱,但失败并显示错误

时间:2018-08-16 19:30:24

标签: ruby chef chef-recipe chef-solo cookbook

任何人都使用过Line食谱-> https://supermarket.chef.io/cookbooks/line

我试图在rsyslog.conf文件中添加多行,并使用前面建议的行食谱。

食谱内容:

replace_or_add "New Lines" do
    path "/etc/rsyslog.conf"
    pattern "# ### end of the forwarding rule ###"
    line "#audit log\n$ModLoad imfile\n$InputFileName /var/log/audit/audit.log\n$InputFileTag tag_audit_log:\n$InputFileStateFile audit_log\n$InputFileSeverity info\n$InputFileFacility local6\n$InputRunFileMonitor\n*.*"
 end

失败

================================================ ================================     对资源'replace_or_add [New Lines]'执行操作edit时出错     ================================================== =============================

ArgumentError
-------------
Line #audit log
$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local6
$InputRunFileMonitor

 has embedded EOL characters, not allowed for this resource

我尝试使用{-{3}}中提到的tr -d'\ n'

任何人都对线路烹饪书进行了测试,可以将多行添加到rsysconfig文件中,甚至可以使用此烹饪书向文件添加多行?

谢谢你, 阿尼什(Anish)

1 个答案:

答案 0 :(得分:0)

这不是文件,您在\n值中包含line个字符。一次一行。可以尝试尝试poise-file

编辑:

此外,像我上次告诉您的那样,请不要这样做。 Rsyslog支持$IncludeConfig /etc/rsyslog.d/之类的功能,允许从多个离散文件中提取配置。改用它。