initial commit
This commit is contained in:
31
config/postgres/rotate-backups.sh
Executable file
31
config/postgres/rotate-backups.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
# Backup Gitea
|
||||
pg_dump -h db -U "$POSTGRES_ADMIN_USER" "$GITEA_DB" | gzip > /backups/backup_${TIMESTAMP}_gitea.dump.gz
|
||||
|
||||
# Backup Odoo
|
||||
pg_dump -h db -U "$POSTGRES_ADMIN_USER" "$ODOO_DB" | gzip > /backups/backup_${TIMESTAMP}_odoo.dump.gz
|
||||
|
||||
# Send backups to nextcloud. Also could use rclone.
|
||||
# Upload Gitea backup
|
||||
curl -T /backups/backup_${TIMESTAMP}_gitea.dump.gz -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" "$NEXTCLOUD_URL/remote.php/dav/files/$NEXTCLOUD_USER/gitea/backup_${TIMESTAMP}_gitea.dump.gz"
|
||||
|
||||
# Upload Odoo backup
|
||||
curl -T /backups/backup_${TIMESTAMP}_odoo.dump.gz -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" "$NEXTCLOUD_URL/remote.php/dav/files/$NEXTCLOUD_USER/odoo/backup_${TIMESTAMP}_odoo.dump.gz"
|
||||
|
||||
# Cleanup Gitea backups
|
||||
ls -tp /backups/*_gitea.dump.gz | grep -v '/$' | tail -n +${BACKUP_RETAIN_COUNT:-10} | while read file; do
|
||||
echo "$(date) Deleted Gitea backup: $file" >> /backups/cleanup.log
|
||||
rm "$file"
|
||||
done
|
||||
|
||||
# Cleanup Odoo backups
|
||||
ls -tp /backups/*_odoo.dump.gz | grep -v '/$' | tail -n +${BACKUP_RETAIN_COUNT:-10} | while read file; do
|
||||
echo "$(date) Deleted Odoo backup: $file" >> /backups/cleanup.log
|
||||
rm "$file"
|
||||
done
|
||||
|
||||
sleep 86400
|
||||
Reference in New Issue
Block a user