mirror of
				https://gitlab.crans.org/bde/nk20-scripts
				synced 2025-11-04 00:32:03 +01:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			borg_backu
			...
			f6819e1ea0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					f6819e1ea0 | ||
| 
						 | 
					df9d765d53 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -33,7 +33,6 @@ coverage
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Local data
 | 
					# Local data
 | 
				
			||||||
secrets.py
 | 
					secrets.py
 | 
				
			||||||
*/.env_borg
 | 
					 | 
				
			||||||
*.log
 | 
					*.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Virtualenv
 | 
					# Virtualenv
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ from datetime import date
 | 
				
			|||||||
from django.contrib.auth.models import User
 | 
					from django.contrib.auth.models import User
 | 
				
			||||||
from django.core.management import BaseCommand
 | 
					from django.core.management import BaseCommand
 | 
				
			||||||
from member.models import Club, Membership
 | 
					from member.models import Club, Membership
 | 
				
			||||||
 | 
					from django.core.mail import send_mail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Command(BaseCommand):
 | 
					class Command(BaseCommand):
 | 
				
			||||||
@@ -54,10 +55,24 @@ class Command(BaseCommand):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if options["type"] == "art":
 | 
					        if options["type"] == "art":
 | 
				
			||||||
            nb=0
 | 
					            nb=0
 | 
				
			||||||
 | 
					            emails = []
 | 
				
			||||||
            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)
 | 
				
			||||||
 | 
					                emails.append(user.email)
 | 
				
			||||||
                nb+=1
 | 
					                nb+=1
 | 
				
			||||||
            self.stdout.write(str(nb))
 | 
					            # self.stdout.write(str(nb))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            subject = "Liste des abonnés à la newsletter BDA"
 | 
				
			||||||
 | 
					            message = (
 | 
				
			||||||
 | 
					                f"Voici la liste des utilisateurs abonnés à la newsletter BDA:\n\n"
 | 
				
			||||||
 | 
					                + "\n".join(emails) 
 | 
				
			||||||
 | 
					                + f"\n\nTotal des abonnés : {nb}"
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            from_email = "Note Kfet 2020 <notekfet2020@crans.org>" 
 | 
				
			||||||
 | 
					            recipient_list = ["sorties.bda@lists.crans.org"] 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            send_mail(subject, message, from_email, recipient_list)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if options["type"] == "sport":
 | 
					        if options["type"] == "sport":
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
BORG_PASSPHRASE='CHANGE_ME'
 | 
					 | 
				
			||||||
BORG_REPO='USER@SERVER:PATH'
 | 
					 | 
				
			||||||
BACKUP_FILE='PATH'
 | 
					 | 
				
			||||||
@@ -1,14 +1,9 @@
 | 
				
			|||||||
#!/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
 | 
					# Backup database and save it as tar archive
 | 
				
			||||||
sudo -u postgres pg_dump -F t note_db > $BACKUP_FILE
 | 
					sudo -u postgres pg_dump -F t note_db > "/tmp/note-backups/$date.sql"
 | 
				
			||||||
 | 
					# Compress backup as gzip
 | 
				
			||||||
# Keep the last 30 backups
 | 
					gzip "/tmp/note-backups/$date.sql"
 | 
				
			||||||
borg prune --keep-last 30
 | 
					scp "/tmp/note-backups/$date.sql.gz" "club-bde@zamok.crans.org:backup/$date.sql.gz"
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Save backup
 | 
					 | 
				
			||||||
borg create --compression lz4 ::backup-{now} $BACKUP_FILE
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user