mirror of
https://codeberg.org/Sevichecc/forgejo-backup-script.git
synced 2025-04-30 05:09:29 +08:00
Init Script
This commit is contained in:
parent
4599fb718c
commit
28a0a64431
1 changed files with 27 additions and 0 deletions
27
backup.sh
Normal file
27
backup.sh
Normal file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
source ./.env
|
||||
|
||||
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||
echo "(${TIMESTAMP}) Starting backup process"
|
||||
|
||||
echo "1. Stopping containers"
|
||||
docker compose -f ${FORGEJO_DIR}/docker-compose.yml down
|
||||
|
||||
echo "2. Backing up configuration and forgejo folder"
|
||||
tar -czvf ${BACKUP_DIR}/forgejo-${TIMESTAMP}.tar.gz -C ${FORGEJO_DIR} forgejo docker-compose.yml
|
||||
|
||||
echo "3. Backing up Postgres database"
|
||||
DB_CONTAINER=$(docker ps -aqf "name=forgejo-db-1")
|
||||
docker exec -i ${DB_CONTAINER} pg_dump -U forgejo forgejo > ${BACKUP_DIR}/forgejo-${TIMESTAMP}.sql
|
||||
|
||||
echo "4. Removing old backups"
|
||||
find ${BACKUP_DIR} -mtime +7 -exec rm -rf {} \;
|
||||
|
||||
echo "5. Upload to remote"
|
||||
./duplicacy.sh
|
||||
|
||||
echo "6. Restarting containers"
|
||||
docker compose -f ${FORGEJO_DIR}/docker-compose.yml up -d
|
||||
|
||||
echo "Backup completed!"
|
Loading…
Reference in a new issue