32 lines
1.2 KiB
Bash
Executable File
32 lines
1.2 KiB
Bash
Executable File
#!/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
|