1
0
nixfiles/hosts/palladium/backup-scripts.nix

36 lines
941 B
Nix
Raw Normal View History

2021-12-07 19:48:24 +01:00
{ pkgs, ... }:
let
cb-mount = pkgs.writeScriptBin "cb-mount" ''
#!${pkgs.bash}/bin/bash
DEVICE=/dev/disk/by-path/pci-0000:00:12.0-ata-2-part1
cryptsetup luksOpen ''${DEVICE} external-drive
mkdir -p /mnt/external-drive
mount /dev/mapper/external-drive /mnt/external-drive
'';
cb-sync = pkgs.writeScriptBin "cb-sync" ''
#!${pkgs.bash}/bin/bash
# Check, if the something is mounted in our sycdir
if grep -qs '/mnt/external-drive' /proc/mounts
then
rsync -rltD '/mnt/palladium/alpha.0/clerie-backup/clerie-backup-replication/' '/mnt/external-drive/clerie-backup'
else
echo "Please plug in a backup drive and mount it using cb-mount"
fi
'';
cb-unmount = pkgs.writeScriptBin "cb-unmount" ''
#!${pkgs.bash}/bin/bash
umount /mnt/external-drive
cryptsetup luksClose external-drive
'';
in {
environment.systemPackages = with pkgs; [ pkgs.cryptsetup pkgs.rsync cb-mount cb-sync cb-unmount ];
}