Add backup scripts to version control
This commit is contained in:
parent
f93223a109
commit
a76916d06d
35
hosts/palladium/backup-scripts.nix
Normal file
35
hosts/palladium/backup-scripts.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ 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 ];
|
||||
}
|
Loading…
Reference in New Issue
Block a user