Add shell script to create backup

This commit is contained in:
IRBorisov 2023-09-01 23:20:14 +03:00
parent be115776b0
commit 8459b49032
2 changed files with 50 additions and 1 deletions

View File

@ -0,0 +1,49 @@
# ====== Create database backup ==========
# WARNING! DO NOT RUN THIS FILE AUTOMATICALLY FROM REPOSITORY LOCATION!
# Create a copy in secure location @production host. Update backup scripts from repository manually
# ========================================
backupLocation="/home/admuser/backup"
pgUser="portal-admin"
pgDB="portal-db"
containerDB="portal-db"
containerBackend="portal-backend"
dateFmt=$(date '+%Y-%m-%d')
destination="$backupLocation/$dateFmt"
EnsureLocation()
{
rm -rf $destination
mkdir $destination
}
PostgreDump()
{
dbDump="$destination/$dateFmt-db.dump"
docker exec $containerDB pg_dump \
--username=$pgUser \
--exclude-table=django_migrations \
--format=custom \
--dbname=$pgDB \
> $dbDump
}
DjangoDump()
{
dataDump="$destination/$dateFmt-data.json"
docker exec $containerBackend \
python manage.py dumpdata \
--indent=2 \
--exclude=admin.LogEntry \
--exclude=sessions \
--exclude=contenttypes \
--exclude=auth.permission \
> $dataDump
gzip --force $dataDump
}
EnsureLocation
PostgreDump
DjangoDump
echo "Backup created at: $destination"

View File

@ -4,7 +4,7 @@
# Input params # Input params
$dataDump = "D:\DEV\backup\portal\2023-09-01\2023-09-01-db.dump" $dataDump = "D:\DEV\backup\portal\2023-09-01\2023-09-01-db.dump"
$target = "local-portal-db" $target = "dev-portal-db"
$pgUser = "portal-admin" $pgUser = "portal-admin"
$pgDB = "portal-db" $pgDB = "portal-db"