Passer au contenu principal
Menu
← BACK TO WORK

Backup Automatisé S3

Automated Backup System

Scripts Python pour la sauvegarde incrémentale de bases de données vers AWS S3.

ClientProjet Lab
RoleIngénieur DevOps
Year2024
StackPython, Amazon Web Services, Bash, Cron
Backup Automatisé S3

THE CHALLENGE

Optimiser la taille des backups et mettre en place une politique de rétention efficace.

backup.py
1
import boto3
2
import subprocess
3
from datetime import datetime
4
 
5
def backup_database():
6
    timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
7
    backup_file = f'backup_{timestamp}.sql'
8
 
9
    # Create database dump
10
    subprocess.run([
11
        'pg_dump',
12
        '-U', 'postgres',
13
        '-d', 'production_db',
14
        '-f', backup_file
15
    ])
16
 
17
    # Upload to S3
18
    s3 = boto3.client('s3')
19
    s3.upload_file(backup_file, 'my-backups-bucket', backup_file)
20
 
21
    print(f'Backup completed: {backup_file}')
22
 
23
if __name__ == '__main__':
24
    backup_database()
Detail View

Explore More

All Projects