2014-11-03 3 views
0

Я работаю с кукольным классом, который пишет в my.cnf, если указанная строка не существует, и она не работает. Вот код:Не могу написать файл с exec

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", 
} 
} 

ответ

1

Я считаю, что ваш onlyif запрос неправильно.

Хотя grep -cпечатает 0, если не совпадающей строки не найден, он по-прежнему возвращает 1.

Как насчет

unless => 'grep -q log_bin=/var/log/mysql/mysql-bin.log /etc/mysql/my.cnf' 

Обратите внимание, что вы, вероятно, хотите использовать file_line тип из stlib module в сделать то же самое более эффективно.

 Смежные вопросы

  • Нет связанных вопросов^_^