borg backup

This commit is contained in:
korenstin 2024-08-10 19:03:29 +02:00
parent 472c9c33ce
commit abd5af9ad2
3 changed files with 15 additions and 6 deletions

1
.gitignore vendored
View File

@ -33,6 +33,7 @@ coverage
# Local data
secrets.py
*/.env_borg
*.log
# Virtualenv

3
shell/.env_borg_example Normal file
View File

@ -0,0 +1,3 @@
BORG_PASSPHRASE='CHANGE_ME'
BORG_REPO='USER@SERVER:PATH'
BACKUP_FILE='PATH'

View File

@ -1,9 +1,14 @@
#!/bin/bash
export $(cat .env_borg | xargs)
# Create temporary backups directory
mkdir -p /tmp/note-backups
date=$(date +%Y-%m-%d)
# Backup database and save it as tar archive
sudo -u postgres pg_dump -F t note_db > "/tmp/note-backups/$date.sql"
# Compress backup as gzip
gzip "/tmp/note-backups/$date.sql"
scp "/tmp/note-backups/$date.sql.gz" "club-bde@zamok.crans.org:backup/$date.sql.gz"
# Backup database
sudo -u postgres pg_dump -F t note_db > $BACKUP_FILE
# Keep the last 30 backups
borg prune --keep-last 30
# Save backup
borg create --compression lz4 ::backup-{now} $BACKUP_FILE