diff --git a/scripts/backup.sh b/scripts/backup.sh new file mode 100644 index 0000000..afcf630 --- /dev/null +++ b/scripts/backup.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +DATE=$(date +%Y-%m-%d) +BACKUP_DIR=/srv/backups/db +R2_BUCKET=r2:verimund-backups + +# Database backup +pg_dump -h 127.0.0.1 -U verimund_user verimund | gzip > $BACKUP_DIR/verimund_$DATE.sql.gz + +# Upload to R2 +rclone sync $BACKUP_DIR $R2_BUCKET/db + +# Keep only last 7 local backups +cd $BACKUP_DIR && ls -t | tail -n +8 | xargs -r rm + +echo "Backup complete: $DATE"