Files
selfhost-cloud-compose-stack/scripts/pgbackup/backup-script.sh
2025-11-25 12:27:53 +03:30

24 lines
574 B
Bash
Executable File

#!/bin/sh
echo "Starting backup..."
BACKUP_DIR=/backups
DATE=$(date +%F)
# Gitea
tar -czf $BACKUP_DIR/gitea-$DATE.tar.gz -C /backup gitea
# Odoo
tar -czf $BACKUP_DIR/odoo-$DATE.tar.gz -C /backup odoo
# OpenCloud
tar -czf $BACKUP_DIR/opencloud-$DATE.tar.gz -C /backup opencloud
# PostgreSQL dump (all DBs)
pg_dump -h postgres -U admin -F c -b -v -f $BACKUP_DIR/postgres-$DATE.dump
# Rotation: keep only 10 newest backups per service
for svc in gitea odoo opencloud postgres; do
ls -1t $BACKUP_DIR/${svc}-* | tail -n +11 | xargs -r rm --
done
echo "Backup completed."