我正在使用一个写入my.cnf的木偶类,如果指定的行不在那里,它就不起作用了。这是代码:
class mysql-server::configure {
exec { "enable_binlog":
path => "/usr/bin/:/usr/sbin/:/usr/local/bin:/bin/:/sbin",
command => "echo 'log_bin=/var/log/mysql/mysql-bin.log' >> /etc/mysql/my.cnf",
onlyif => "grep -c log_bin=/var/log/mysql/mysql-bin.log' /etc/mysql/my.cnf",
}
}
答案 0 :(得分:1)
我认为您的onlyif
查询错误。
如果找不到匹配的行,grep -c
打印为0,则仍会返回1.
怎么样
unless => 'grep -q log_bin=/var/log/mysql/mysql-bin.log /etc/mysql/my.cnf'
请注意,您可能希望使用stlib module中的file_line
类型来更有效地执行相同操作。