{ ... }: { 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/" ]; }; }