2023-01-29 08:46:21 +01:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
let
|
|
|
|
|
backuppath = "/backup/snapshot";
|
2024-08-27 22:47:38 +02:00
|
|
|
borgHook = toString ./borgHook.sh;
|
2023-01-29 08:46:21 +01:00
|
|
|
in
|
2021-12-24 18:27:19 +01:00
|
|
|
{
|
|
|
|
|
services.borgbackup.jobs.default = {
|
|
|
|
|
paths = [
|
2023-01-29 08:46:21 +01:00
|
|
|
"${backuppath}/etc"
|
|
|
|
|
"${backuppath}/home"
|
|
|
|
|
"${backuppath}/root"
|
|
|
|
|
"${backuppath}/var"
|
2021-12-24 18:27:19 +01:00
|
|
|
];
|
|
|
|
|
exclude = [
|
2023-01-29 08:46:21 +01:00
|
|
|
"${backuppath}*/.cache"
|
|
|
|
|
"${backuppath}/home/*/build"
|
|
|
|
|
"${backuppath}/var/log"
|
|
|
|
|
"${backuppath}/var/lib/nextcloud/data/appdata_ocnc33s4dl6i/preview"
|
|
|
|
|
"${backuppath}/var/lib/postgresql/*/"
|
2023-04-24 04:35:06 +02:00
|
|
|
"${backuppath}/var/lib/mysql/*"
|
2023-01-29 08:46:21 +01:00
|
|
|
"${backuppath}/var/lib/containers"
|
|
|
|
|
"${backuppath}/var/lib/rancher/k3s/agent/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots"
|
2021-12-24 18:27:19 +01:00
|
|
|
];
|
2023-07-28 21:53:42 +02:00
|
|
|
#repo = "borg@haus.mc-fucker.cool:/mnt/sdf1/borg/${config.networking.hostName}";
|
|
|
|
|
repo = "borg@nasty:.";
|
2021-12-24 18:27:19 +01:00
|
|
|
compression = "zstd";
|
|
|
|
|
encryption.mode = "none";
|
|
|
|
|
environment.BORG_RSH = "ssh -o 'StrictHostKeyChecking=no' -i /root/.ssh/id_borg";
|
|
|
|
|
extraCreateArgs = "--verbose --stats";
|
2023-12-12 08:07:16 +01:00
|
|
|
startAt = "00:10";
|
2024-08-27 22:47:38 +02:00
|
|
|
preHook = "${borgHook} pre ${backuppath}"; #create snapshot for consistent filesystem
|
|
|
|
|
postCreate = "${borgHook} post ${backuppath}"; #delete snapshot again
|
2023-01-29 08:46:21 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
systemd.services.borgbackup-job-default = {
|
2023-09-12 08:30:07 +02:00
|
|
|
environment = {
|
|
|
|
|
BORG_RELOCATED_REPO_ACCESS_IS_OK = "yes";
|
|
|
|
|
};
|
2023-01-29 08:46:21 +01:00
|
|
|
path = [ pkgs.btrfs-progs ];
|
|
|
|
|
serviceConfig = {
|
|
|
|
|
ReadWritePaths = [ "/backup" ];
|
|
|
|
|
};
|
2021-12-24 18:27:19 +01:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# vim: set et ts=2 sw=2 ai:
|