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