gitea: try to automate backup with backrest pre/post hooks and pgdump
This commit is contained in:
5
hosts/home-morefine/docker/gitea/backrest_hook_begin.sh
Normal file
5
hosts/home-morefine/docker/gitea/backrest_hook_begin.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
# run pg_dump
|
||||
bash /home/backups/docker/gitea/dump_db.sh
|
||||
|
||||
# stop gitea
|
||||
docker compose -f /home/backups/docker/gitea/docker-compose.yaml stop
|
||||
5
hosts/home-morefine/docker/gitea/backrest_hook_end.sh
Normal file
5
hosts/home-morefine/docker/gitea/backrest_hook_end.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
# start gitea
|
||||
docker compose -f /home/backups/docker/gitea/docker-compose.yaml start
|
||||
|
||||
# remove temp backup file
|
||||
rm -f /srv/backups/pgdumps/gitea/pg.dump
|
||||
24
hosts/home-morefine/docker/gitea/dump_db.sh
Normal file
24
hosts/home-morefine/docker/gitea/dump_db.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CONTAINER="gitea_pg_db"
|
||||
USER="gitea"
|
||||
DB="gitea"
|
||||
BACKUP_DIR="/srv/backups/pgdumps/gitea"
|
||||
TMP_FILE="$BACKUP_DIR/pg.dump.tmp"
|
||||
FINAL_FILE="$BACKUP_DIR/pg.dump"
|
||||
|
||||
echo "Starting [$DB] pg_dump..."
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# remove old backup file
|
||||
rm -f "$TMP_FILE" "$FINAL_FILE"
|
||||
|
||||
docker exec -t "$CONTAINER" \
|
||||
sh -lc "pg_dump -U $USER -d $DB -Fc -Z 0 --no-owner --no-privileges" \
|
||||
> "$TMP_FILE"
|
||||
|
||||
mv "$TMP_FILE" "$FINAL_FILE"
|
||||
|
||||
echo "Done: [$DB] backup saved to $FINAL_FILE"
|
||||
Reference in New Issue
Block a user