26 lines
		
	
	
		
			696 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			696 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -eu
 | |
| set -o pipefail
 | |
| 
 | |
| TIMESTAMP=$(date +%Y%m%d_%H%M%S)
 | |
| BACKUP_FILE="miniflux_postgres_${TIMESTAMP}.sql.gz"
 | |
| 
 | |
| echo "miniflux: backing up postgresql database"
 | |
| 
 | |
| docker compose --file "{{ base_dir }}/docker-compose.yml" exec \
 | |
|     miniflux_postgres \
 | |
|     pg_dump \
 | |
|         -U "{{ miniflux_postgres_user }}" \
 | |
|         "{{ miniflux_postgres_database }}" \
 | |
|     | gzip > "{{ postgres_backups_dir }}/${BACKUP_FILE}"
 | |
| 
 | |
| echo "miniflux: PostgreSQL backup saved to {{ postgres_backups_dir }}/${BACKUP_FILE}"
 | |
| 
 | |
| echo "miniflux: removing old backups"
 | |
| 
 | |
| # Keep only the 3 most recent backups
 | |
| keep-files.py "{{ postgres_backups_dir }}" --keep 3
 | |
| 
 | |
| echo "miniflux: backup completed successfully."
 |