diff options
Diffstat (limited to 'lass/2configs/backups.nix')
| -rw-r--r-- | lass/2configs/backups.nix | 135 | 
1 files changed, 135 insertions, 0 deletions
diff --git a/lass/2configs/backups.nix b/lass/2configs/backups.nix new file mode 100644 index 000000000..7d3046d43 --- /dev/null +++ b/lass/2configs/backups.nix @@ -0,0 +1,135 @@ +{ config, lib, ... }: +with config.krebs.lib; +{ + +  krebs.backup.plans = { +  } // mapAttrs (_: recursiveUpdate { +    snapshots = { +      daily    = { format = "%Y-%m-%d"; retain =  7; }; +      weekly   = { format = "%YW%W";    retain =  4; }; +      monthly  = { format = "%Y-%m";    retain = 12; }; +      yearly   = { format = "%Y";                    }; +    }; +  }) { +    dishfire-http-prism = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.prism;    path = "/bku/dishfire-http"; }; +      startAt = "03:00"; +    }; +    dishfire-http-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.mors;     path = "/bku/dishfire-http"; }; +      startAt = "03:05"; +    }; +    dishfire-http-uriel = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.uriel;    path = "/bku/dishfire-http"; }; +      startAt = "03:10"; +    }; +    dishfire-sql-prism = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.prism;    path = "/bku/dishfire-sql"; }; +      startAt = "03:15"; +    }; +    dishfire-sql-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.mors;     path = "/bku/dishfire-sql"; }; +      startAt = "03:20"; +    }; +    dishfire-sql-uriel = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.uriel;    path = "/bku/dishfire-sql"; }; +      startAt = "03:25"; +    }; +    prism-bitlbee-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/var/lib/bitlbee"; }; +      dst = { host = config.krebs.hosts.mors; path = "/bku/prism-bitlbee"; }; +      startAt = "03:25"; +    }; +    prism-bitlbee-uriel = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/var/lib/bitlbee"; }; +      dst = { host = config.krebs.hosts.uriel; path = "/bku/prism-bitlbee"; }; +      startAt = "03:25"; +    }; +    prism-chat-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/home/chat"; }; +      dst = { host = config.krebs.hosts.mors;  path = "/bku/prism-chat"; }; +      startAt = "03:30"; +    }; +    prism-chat-uriel = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/home/chat"; }; +      dst = { host = config.krebs.hosts.uriel; path = "/bku/prism-chat"; }; +      startAt = "03:35"; +    }; +    prism-sql-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.mors;  path = "/bku/prism-sql_dumps"; }; +      startAt = "03:40"; +    }; +    prism-sql-uriel = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.uriel; path = "/bku/prism-sql_dumps"; }; +      startAt = "03:45"; +    }; +    prism-http-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.mors;  path = "/bku/prism-http"; }; +      startAt = "03:50"; +    }; +    prism-http-uriel = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism; path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.uriel; path = "/bku/prism-http"; }; +      startAt = "03:55"; +    }; +    uriel-home-mors = { +      method = "pull"; +      src = { host = config.krebs.hosts.uriel; path = "/home"; }; +      dst = { host = config.krebs.hosts.mors;  path = "/bku/uriel-home"; }; +      startAt = "04:00"; +    }; +    mors-home-uriel = { +      method = "push"; +      src = { host = config.krebs.hosts.mors;  path = "/home"; }; +      dst = { host = config.krebs.hosts.uriel; path = "/bku/mors-home"; }; +      startAt = "05:00"; +    }; +    dishfire-http-helios = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.helios;   path = "/bku/dishfire-http"; }; +      startAt = "12:00"; +    }; +    dishfire-sql-helios = { +      method = "pull"; +      src = { host = config.krebs.hosts.dishfire; path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.helios;   path = "/bku/dishfire-sql"; }; +      startAt = "12:15"; +    }; +    prism-sql-helios = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism;  path = "/bku/sql_dumps"; }; +      dst = { host = config.krebs.hosts.helios; path = "/bku/prism-sql_dumps"; }; +      startAt = "12:30"; +    }; +    prism-http-helios = { +      method = "pull"; +      src = { host = config.krebs.hosts.prism;  path = "/srv/http"; }; +      dst = { host = config.krebs.hosts.helios; path = "/bku/prism-http"; }; +      startAt = "12:45"; +    }; +  }; +}  | 
