1
0
mirror of https://gitlab.crans.org/bde/nk20-scripts synced 2025-06-30 10:11:07 +02:00

5 Commits

Author SHA1 Message Date
abd5af9ad2 borg backup 2024-08-10 19:03:29 +02:00
472c9c33ce Update extract_ml_registrations.py 2024-06-04 00:16:36 +02:00
6149f11e53 Update extract_ml_registrations.py 2024-06-03 23:01:42 +02:00
08455e6e60 Update extract_ml_registrations.py 2024-06-03 22:58:48 +02:00
b17780e5e9 Update extract_ml_registrations.py 2024-06-03 22:55:41 +02:00
4 changed files with 20 additions and 8 deletions

1
.gitignore vendored
View File

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

View File

@ -1,4 +1,4 @@
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay # Copyright (C) 2018-2024 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
from datetime import date from datetime import date
@ -10,7 +10,7 @@ from member.models import Club, Membership
class Command(BaseCommand): class Command(BaseCommand):
help = "Get mailing list registrations from the last wei. " \ help = "Get mailing list registrations from the last wei. " \
"Usage: manage.py extract_ml_registrations -t {events,art,sport} -t {fr, en} -y {0, 1, ...}. " \ "Usage: manage.py extract_ml_registrations -t {events,art,sport} -l {fr, en} -y {0, 1, ...}. " \
"You can write this into a file with a pipe, then paste the document into your mail manager." "You can write this into a file with a pipe, then paste the document into your mail manager."
def add_arguments(self, parser): def add_arguments(self, parser):
@ -53,8 +53,11 @@ class Command(BaseCommand):
return return
if options["type"] == "art": if options["type"] == "art":
nb=0
for user in User.objects.filter(profile__ml_art_registration=True).all(): for user in User.objects.filter(profile__ml_art_registration=True).all():
self.stdout.write(user.email) self.stdout.write(user.email)
nb+=1
self.stdout.write(str(nb))
return return
if options["type"] == "sport": if options["type"] == "sport":

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