New bundle mysql_resore_conditional
This commit is contained in:
parent
ee82bafb47
commit
1b3ac8039e
46
mysql.cf
46
mysql.cf
|
@ -9,7 +9,8 @@ vars:
|
||||||
"default_cfg" data => '{
|
"default_cfg" data => '{
|
||||||
"bind_address":"127.0.0.1",
|
"bind_address":"127.0.0.1",
|
||||||
"user":"mysql",
|
"user":"mysql",
|
||||||
"port":"3306"
|
"port":"3306",
|
||||||
|
"backup_dir":"/var/backups"
|
||||||
}';
|
}';
|
||||||
|
|
||||||
"cfg" data => mergedata(@(default_cfg),@(cfg_param));
|
"cfg" data => mergedata(@(default_cfg),@(cfg_param));
|
||||||
|
@ -71,10 +72,11 @@ files:
|
||||||
|
|
||||||
|
|
||||||
"$(cfg_file)"
|
"$(cfg_file)"
|
||||||
create => "true",
|
#create => "true",
|
||||||
perms => m("644"),
|
perms => m("644"),
|
||||||
edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache",
|
copy_from => seed_cp("$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache"),
|
||||||
template_method => "mustache",
|
# edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache",
|
||||||
|
# template_method => "mustache",
|
||||||
handle => "mysql_cfg_created",
|
handle => "mysql_cfg_created",
|
||||||
depends_on => {"mysql_cfg_dir_created"},
|
depends_on => {"mysql_cfg_dir_created"},
|
||||||
classes => if_repaired("mysql_repaired");
|
classes => if_repaired("mysql_repaired");
|
||||||
|
@ -123,6 +125,7 @@ vars:
|
||||||
|
|
||||||
"j" string => storejson(@(cfg));
|
"j" string => storejson(@(cfg));
|
||||||
methods:
|
methods:
|
||||||
|
"any" usebundle => mysql(@(cfg));
|
||||||
"any" usebundle => wmde_install_packages(@(mysql.server_pkgs),"mysql_server");
|
"any" usebundle => wmde_install_packages(@(mysql.server_pkgs),"mysql_server");
|
||||||
|
|
||||||
files:
|
files:
|
||||||
|
@ -315,25 +318,38 @@ bundle agent create_mysql_db(cfg)
|
||||||
{
|
{
|
||||||
classes:
|
classes:
|
||||||
"type_$(mysql.type)" ;
|
"type_$(mysql.type)" ;
|
||||||
|
# "do_restore" expression => isvariable("cfg[restore]");
|
||||||
|
"do_restore" expression => strcmp("$(cfg[restore])","true");
|
||||||
vars:
|
vars:
|
||||||
"db_name" string => "$(cfg[db_name])";
|
"db_name" string => "$(cfg[db_name])";
|
||||||
"db_user" string => "$(cfg[db_user])";
|
"db_user" string => "$(cfg[db_user])";
|
||||||
"host" string => "$(cfg[db_user_host])";
|
"host" string => "$(cfg[db_user_host])";
|
||||||
"db_pass" string => "$(cfg[db_pass])";
|
"db_pass" string => "$(cfg[db_pass])";
|
||||||
|
|
||||||
|
|
||||||
type_mariadb::
|
type_mariadb::
|
||||||
"args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; \" ";
|
"args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; \" ";
|
||||||
|
|
||||||
type_mysql8::
|
type_mysql8::
|
||||||
"args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); CREATE USER IF NOT EXISTS '$(db_user)'@'$(host)'; ALTER USER '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; GRANT RELOAD ON *.* to '$(db_user)'@'$(host)'; GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)';\" ";
|
"args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); CREATE USER IF NOT EXISTS '$(db_user)'@'$(host)'; ALTER USER '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; GRANT RELOAD ON *.* to '$(db_user)'@'$(host)'; GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)';\" ";
|
||||||
|
|
||||||
|
methods:
|
||||||
|
do_restore::
|
||||||
|
"any" usebundle => restore_mysql_db_conditional(@(cfg),"$(mysql.cfg[backup_dir])/$(cfg[db_name])-dmp.sql"),
|
||||||
|
depends_on => {"mysql_$(cfg[db_name])_created"};
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
|
|
||||||
"$(mysql.mysql_cmd)"
|
"$(mysql.mysql_cmd)"
|
||||||
args => "$(args)",
|
args => "$(args)",
|
||||||
|
handle => "mysql_$(cfg[db_name])_created",
|
||||||
inform => "false";
|
inform => "false";
|
||||||
|
|
||||||
reports:
|
reports:
|
||||||
|
do_restore::
|
||||||
|
"DO RESTORE";
|
||||||
|
!do_restore::
|
||||||
|
"DO_NOT_RESTORE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -346,3 +362,25 @@ commands:
|
||||||
contain => wmde_cmd_useshell;
|
contain => wmde_cmd_useshell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bundle agent restore_mysql_db_conditional(cfg,file)
|
||||||
|
{
|
||||||
|
classes:
|
||||||
|
"backup_exists" expression => fileexists("$(file)");
|
||||||
|
vars:
|
||||||
|
"table_exists" string => "mysql_$(cfg[db_name])_$(cfg[check_table])_exists";
|
||||||
|
methods:
|
||||||
|
"any" usebundle => mysql_table_exists(@(cfg),"$(cfg[check_table])");
|
||||||
|
"!$(table_exists)&backup_exists"::
|
||||||
|
"any" usebundle => restore_mysql_db(@(cfg),"$(file)");
|
||||||
|
reports:
|
||||||
|
"conditional $(cfg[check_table])_exists";
|
||||||
|
"FILE: $(file)";
|
||||||
|
|
||||||
|
"$(table_exists)"::
|
||||||
|
"$(table_exists) exists";
|
||||||
|
"!$(table_exists)&backup_exists"::
|
||||||
|
"$(table_exists) does not existsi, can restore";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue