nixos-config/services/postgresql-backup.nix

37 lines
771 B
Nix

{
config,
lib,
pkgs,
...
}: let
inherit
(lib)
mkEnableOption
mkIf
;
cfg = config.my.services.postgresql-backup;
in {
options.my.services.postgresql-backup = {
enable =
(mkEnableOption "Backup SQL databases")
// {default = config.services.postgresql.enable;};
};
config = mkIf cfg.enable {
services.postgresqlBackup = {
enable = true;
# Restic backup starts at midnight so create DB dump just before
startAt = "*-*-* 23:30:00";
};
my.services.restic-backup = mkIf cfg.enable {
paths = ["/var/backup/postgresql"];
# no need to store previously backed up files, as borg does the snapshoting
# for us
exclude = ["/var/backup/postgresql/*.prev.sql.gz"];
};
};
}