|
|
@ -55,12 +55,18 @@ |
|
|
|
fsType = "nfs"; |
|
|
|
}; |
|
|
|
|
|
|
|
systemd.services.qbittorrent.after = ["mnt-Download.mount"]; |
|
|
|
systemd.services.qbittorrent.requires= ["mnt-Download.mount"]; |
|
|
|
|
|
|
|
# Enable backups to Moria via rsync |
|
|
|
# (These backups go to /Public/Backup/<etc>) |
|
|
|
systemd.services.rsync_backup = { |
|
|
|
serviceConfig.Type = "oneshot"; |
|
|
|
path = with pkgs; [ rsync ]; |
|
|
|
requires = ["mnt-Download.mount"]; |
|
|
|
script = '' |
|
|
|
rsync -a --delete /var/games/minecraft/ moria.local::CRIMESPOON/minecraft/ |
|
|
|
rsync -a --delete /var/games/minecraft-many/ moria.local::CRIMESPOON/minecraft-many/ |
|
|
|
''; |
|
|
|
}; |
|
|
|
|
|
|
@ -70,32 +76,6 @@ |
|
|
|
timerConfig.OnCalendar="*-*-* 2:00:00"; |
|
|
|
}; |
|
|
|
|
|
|
|
# Enable backing up Akina Postgres DB to Akina via rsync |
|
|
|
systemd.services.akina_rsync_backup = { |
|
|
|
serviceConfig.Type = "oneshot"; |
|
|
|
path = with pkgs; [ openssh rsync coreutils ]; |
|
|
|
script = '' |
|
|
|
set -e |
|
|
|
BACKUP_FILENAME=pg_dumpall-$(hostname)-$(date --iso-8601).sql.gz |
|
|
|
|
|
|
|
ssh postgres@nora.codes -i ~/.ssh/crimespoon-akina-backup-key "pg_dumpall --clean | gzip > $BACKUP_FILENAME" |
|
|
|
|
|
|
|
scp -i ~/.ssh/crimespoon-akina-backup-key postgres@nora.codes:$BACKUP_FILENAME ./$BACKUP_FILENAME |
|
|
|
|
|
|
|
ssh postgres@nora.codes -i ~/.ssh/crimespoon-akina-backup-key "rm $BACKUP_FILENAME" |
|
|
|
|
|
|
|
rsync -a --delete $BACKUP_FILENAME moria.local::CRIMESPOON/akina/$BACKUP_FILENAME |
|
|
|
|
|
|
|
rm $BACKUP_FILENAME |
|
|
|
''; |
|
|
|
}; |
|
|
|
|
|
|
|
systemd.timers.akina_rsync_backup = { |
|
|
|
wantedBy = [ "timers.target" ]; |
|
|
|
partOf = [ "akina_rsync_backup.service" ]; |
|
|
|
timerConfig.OnCalendar="Weekly"; |
|
|
|
}; |
|
|
|
|
|
|
|
services.openssh.enable = true; |
|
|
|
system.stateVersion = "21.11"; # Did you read the comment? |
|
|
|
} |
|
|
|