#!/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."