Do not pass the password on the command line anymore to fix a warning

Since email notifications work now we do not want warnings. Write an
option file with the credentials for mysqldump
(https://dev.mysql.com/doc/refman/5.7/en/option-files.html)
This commit is contained in:
Greg Karékinian 2018-11-09 14:01:33 +01:00
parent 7073e5d574
commit ffc6858dcc
2 changed files with 18 additions and 15 deletions

View File

@ -63,12 +63,17 @@ mysql_client 'default' do
not_if { node["backup"]["mysql"]["databases"].empty? }
end
include_recipe 'logrotate'
unless node["backup"]["mysql"]["databases"].empty?
# Install MySQL client (includes mysqldump)
mysql_client 'default' do
action :create
end
# Write the credentials file to allow dumps without password for the root
# user (https://dev.mysql.com/doc/refman/5.7/en/option-files.html)
file "/root/.my.cnf" do
mode "600"
content lazy { <<-EOF
[client]
user=#{node["backup"]["mysql"]["username"]}
password=#{node["backup"]["mysql"]["password"]}
EOF
}
not_if { node["backup"]["mysql"]["password"].nil? }
end
logrotate_app 'backup' do
@ -77,4 +82,3 @@ end
rotate 10
create '640 root root'
end
end

View File

@ -40,7 +40,6 @@ end
Database::MySQL.defaults do |db|
db.host = "<%= node["backup"]["mysql"]["host"] %>"
db.username = "<%= node["backup"]["mysql"]["username"] %>"
db.password = "<%= node["backup"]["mysql"]["password"] %>"
db.additional_options = ['--quick', '--single-transaction']
end
<%- end -%>