Este projeto realiza o backup da database PostgreSQL e envia o arquivo para o R2 da Cloudflare.
/database-backup-to-r2
│── /backups --ignore
│── /src
│ │── backup.py
│ │── database_backup.py
│ │── discord_webhook.py
│ │── main.py
│ │── r2_upload.py
│── /.env --ignore
│── /.gitignore
│── /env_example
│── /README.md
│── /requirements.txt
- Python 3 instalado
- PostgreSQL instalado e configurado
- Conta Cloudflare R2 configurada
- Credenciais armazenadas no arquivo
.env
Crie um arquivo .env
na raiz do projeto e adicione suas credenciais:
DB_HOST=XXXXXXXXX
DATABASE_NAME=XXXXXXXXXX
DB_PASSWORD=XXXXXXXXXX
DB_USER=XXXXXXXXXX
DB_PORT=XXXX
R2_BUCKET=XXXXXXXXXXXXXXX
R2_ESCRITA_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX
R2_ESCRITA_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXX
R2_ESCRITA_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXX
R2_ESCRITA_ENDPOINT=XXXXXXXXXXXXXXXXXXXXXX
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXXXXXXXX/YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Dentro do diretório do projeto, execute:
pip install -r requirements.txt
Para iniciar o backup e upload para o R2 execute:
python3 src/main.py
- O script
backup.py
realiza o backup da databaseminha_database
usandopg_dump
. - O script
r2_upload.py
envia o backup para o R2 da Cloudflare. - O backup é removido localmente após o upload bem-sucedido.
Desenvolvido por Matheus Maydana & GPJhonsom 🚀