An open API service indexing awesome lists of open source software.

https://github.com/gromanoff/pgsnapsafe

is an automated PostgreSQL backup service with S3 storage support and email notifications. It allows flexible scheduling of backups and efficient management of stored copies via a simple `.yml` configuration file.
https://github.com/gromanoff/pgsnapsafe

automation backup-tool best-backup-tool cron database-management docker docker-compose opensource postgres postgresql postgresql-tools

Last synced: about 2 months ago
JSON representation

is an automated PostgreSQL backup service with S3 storage support and email notifications. It allows flexible scheduling of backups and efficient management of stored copies via a simple `.yml` configuration file.

Awesome Lists containing this project

README

          

# πŸš€ PgSnapSafe
[English](README.md) | Русский

![GitHub stars](https://img.shields.io/github/stars/gromanoff/pgsnapsafe?style=social)
![GitHub forks](https://img.shields.io/github/forks/gromanoff/pgsnapsafe?style=social)
![GitHub license](https://img.shields.io/github/license/gromanoff/pgsnapsafe)
![GitHub release](https://img.shields.io/github/v/release/gromanoff/pgsnapsafe)

**PgSnapSafe** – это Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ сСрвис Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования PostgreSQL с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ бэкапов Π² S3 ΠΈ увСдомлСниями ΠΏΠΎ email. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ расписаниС бэкапов ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΌΠΈ копиями Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» `.yml`.

## πŸ“Œ ВозмоТности

βœ… АвтоматичСскоС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ PostgreSQL
βœ… Π“ΠΈΠ±ΠΊΠΎΠ΅ расписаниС бэкапов (Ρ‡Π΅Ρ€Π΅Π· YAML)
βœ… ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ
βœ… ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² **AWS S3 / MinIO**
βœ… Email-увСдомлСния ΠΎ статусС бэкапа
βœ… ВстроСнный **health check**

## πŸ›  Установка

### 1️⃣ ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория
```bash
git clone https://github.com/yourusername/PgSnapSafe.git
cd PgSnapSafe
```

### 2️⃣ Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния
Π‘ΠΎΠ·Π΄Π°ΠΉ `.env` Ρ„Π°ΠΉΠ» ΠΈ добавь Π² Π½Π΅Π³ΠΎ настройки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ S3:

```ini
# PostgreSQL
POSTGRESQL_HOST=your-postgresql-host
POSTGRESQL_PORT=5432
POSTGRESQL_USER=your-user
POSTGRESQL_PASSWORD=your-password
POSTGRESQL_DBNAME=your-database

# ДирСктория для хранСния бэкапов
DIRECTORY_BACKUP_PATH=/app/db_backups

# S3 (Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ)
S3_BUCKET_NAME=your-bucket
S3_REGION=your-region
S3_ACCESS_KEY=your-access-key
S3_SECRET_KEY=your-secret-key
S3_ENDPOINT=your-s3-endpoint

# Email (Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ)
SMTP_HOST=smtp.your-email.com
SMTP_PORT=587
SMTP_USER=your-email@example.com
SMTP_PASS=your-password
SMTP_SENDER_SIGN=PgSnapSafe
EMAIL_DELIVERY=your-notify-email@example.com
```

### 3️⃣ Настройка расписания бэкапов
ΠžΡ‚ΠΊΡ€ΠΎΠΉ `config.yml` ΠΈ ΡƒΠΊΠ°ΠΆΠΈ врСмя выполнСния бэкапов ΠΈ число Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ:

```yaml
backup:
times:
- "02:00"
- "14:00"
keep_copies: 5

s3: true # Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² S3
smtp: true # Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ email-увСдомлСния
health_check: true # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности ΠΏΡ€ΠΈ запускС
```

### 4️⃣ Запуск Ρ‡Π΅Ρ€Π΅Π· Docker
```bash
docker-compose up -d
```

## πŸš€ ИспользованиС

### Запуск Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ
```bash
docker exec -it postgresdump /usr/local/bin/postgresdump
```

### ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° сСрвиса
```bash
docker-compose down
```

## πŸ“œ ЛицСнзия

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ **MIT License**. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свободно!

## πŸ’šΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎΠ½Π°Ρ‚ΠΎΠΌ πŸ’š
USDT TRC20
```bash
TMpytFwhc5BaWpUeBkB9BdJndoHb7nFWkU
```