Mysql 无法使用exec写入文件
我正在使用一个puppet类,如果指定的行不存在,它会写入my.cnf,但它不起作用。代码如下:Mysql 无法使用exec写入文件,mysql,exec,puppet,sysadmin,Mysql,Exec,Puppet,Sysadmin,我正在使用一个puppet类,如果指定的行不存在,它会写入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'
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",
}
}
我相信您的
onlyif
查询是错误的
当grep-c
打印一个0时,如果没有找到匹配的行,它仍然返回1
怎么样
unless => 'grep -q log_bin=/var/log/mysql/mysql-bin.log /etc/mysql/my.cnf'
请注意,您可能希望使用中的文件\u行
类型来更有效地执行相同的操作