nix/nixos/hosts/nuc-server/cron.nix
2025-03-01 14:43:35 -08:00

19 lines
1.3 KiB
Nix

{ ... }: {
services.cron = {
enable = true;
systemCronJobs = [
# Back up Local-Storage to NFS Storage
"0 9 * * * root rsync -avr --delete /Local-Storage/Data/Docker/ifargle.com/vpn-stack/ /Storage/Data/Docker/ifargle.com/vpn-stack/"
"0 8 * * * root rsync -avr --delete /Local-Storage/Data/Docker/ifargle.com/dsm-kmip/ /Storage/Data/Docker/ifargle.com/dsm-kmip/"
"0 7 * * * root rsync -avr --delete /Local-Storage/Data/Docker/ifargle.com/dsm-kmip-backup/ /Storage/Data/Docker/ifargle.com/dsm-kmip-backup/"
"0 6 * * * root rsync -avr --delete /Local-Storage/Data/Docker/ifargle.com/pinchflat/ /Storage/Data/Docker/ifargle.com/pinchflat/"
"* * * * * root rsync -avr --delete /Storage/Data/docker-compose/ /Local-Storage/Data/docker-compose/"
# Back up running containers weekly
"0 0 * * * root rm -rf /Storage/Backups/Docker/ifargle.com/*; for i in $(docker ps --format '{{.Names}}'); do docker export $i | gzip -cf | cat > /Storage/Backups/Docker/ifargle.com/$i.tar.gz; done"
# Restart the VPN stack
"0 0 * * * root /Storage/Data/docker-compose/ifargle.com/scripts/restart-vpn.sh"
# Set up a RAW Photo Archive
"0 0 * * * root rsync -avr /Storage/Media/Pictures/RAW/ /Storage/Media/Pictures/RAW_Archive/"
];
};
}