24 lines
574 B
Bash
Executable File
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."
|