X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fdatabases%2Fmariadb_replication.nix;h=5a5a8b0ebcb669df0f7a84135cb3c8cb2156d35e;hb=ef909e2435194af725f4338a13e4732328ef7361;hp=5f97e84aa4bea632dbe7b6b944ef618741c5b15f;hpb=dded66995529a0419cc56778f4ebb4247c2ab765;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/databases/mariadb_replication.nix b/modules/private/databases/mariadb_replication.nix index 5f97e84..5a5a8b0 100644 --- a/modules/private/databases/mariadb_replication.nix +++ b/modules/private/databases/mariadb_replication.nix @@ -114,6 +114,17 @@ in password = ${hcfg.dumpPassword} ''; } + { + dest = "mysql_replication/${name}/client"; + permissions = "0400"; + user = "mysql"; + group = "mysql"; + text = '' + [client] + user = ${hcfg.dumpUser} + password = ${hcfg.dumpPassword} + ''; + } ]) cfg.hosts); services.cron = { @@ -127,16 +138,19 @@ in set -euo pipefail + filename=${backupDir}/$(${pkgs.coreutils}/bin/date -Iminutes).sql ${hcfg.package}/bin/mysqldump \ --defaults-file=${config.secrets.location}/mysql_replication/${name}/mysqldump \ -S /run/mysqld_${name}/mysqld.sock \ --gtid \ --master-data \ --flush-privileges \ - --all-databases > ${backupDir}/$(${pkgs.coreutils}/bin/date -Iseconds).sql + --ignore-database=netdata \ + --all-databases > $filename + ${pkgs.gzip}/bin/gzip $filename ''; u = pkgs.callPackage ./utils.nix {}; - cleanup_script = pkgs.writeScript "cleanup_mysql_${name}" (u.exponentialDumps "sql" backupDir); + cleanup_script = pkgs.writeScript "cleanup_mysql_${name}" (u.exponentialDumps "sql.gz" backupDir); in [ "0 22,4,10,16 * * * root ${backup_script}" "0 3 * * * root ${cleanup_script}" @@ -156,6 +170,7 @@ in lib.attrsets.nameValuePair "mysql/${name}_my.cnf" { text = '' [mysqld] + skip-networking socket = /run/mysqld_${name}/mysqld.sock datadir = ${cfg.base}/${name}/mysql/ log-bin = mariadb-bin