feature/DO-1037/add_scripts_for_postgres (!7)
Reviewed-on: https://git.avroid.tech/DevOps/avroid_scripts/pulls/7
This commit is contained in:
@@ -3,7 +3,6 @@
|
|||||||
DATE=$(date +%F)
|
DATE=$(date +%F)
|
||||||
DIRBACKUP="/data/backups"
|
DIRBACKUP="/data/backups"
|
||||||
DBUSER="postgres"
|
DBUSER="postgres"
|
||||||
TEST_BACKUP_SERVER="h-license-manager-backup-server.avroid.cloud"
|
|
||||||
|
|
||||||
get_leader() {
|
get_leader() {
|
||||||
curl -s 127.0.0.1:8008 | jq -j ".role"
|
curl -s 127.0.0.1:8008 | jq -j ".role"
|
||||||
@@ -29,20 +28,13 @@ createBackup() {
|
|||||||
|
|
||||||
bzip2 -9 "${DIRBACKUP}/${db}-${DATE}".sql
|
bzip2 -9 "${DIRBACKUP}/${db}-${DATE}".sql
|
||||||
|
|
||||||
copyBackupToTestServer "${DIRBACKUP}/${db}-${DATE}".sql.bz2 ${TEST_BACKUP_SERVER}
|
|
||||||
|
|
||||||
echo "END database bzip2: ${db}"
|
echo "END database bzip2: ${db}"
|
||||||
done
|
done
|
||||||
|
|
||||||
pg_dumpall -p 15432 -U postgres --roles-only > "${DIRBACKUP}/roles-${DATE}".sql
|
pg_dumpall -p 15432 -U postgres --roles-only > "${DIRBACKUP}/roles-${DATE}".sql
|
||||||
copyBackupToTestServer "${DIRBACKUP}/roles-${DATE}".sql ${TEST_BACKUP_SERVER}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
copyBackupToTestServer() {
|
|
||||||
rsync $1 $2::backup || true
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ $(ls -A ${DIRBACKUP}) ]] 2>/dev/null && echo "dir ${DIRBACKUP} not empty" && exit 123
|
[[ $(ls -A ${DIRBACKUP}) ]] 2>/dev/null && echo "dir ${DIRBACKUP} not empty" && exit 123
|
||||||
|
|
||||||
createBackup
|
createBackup
|
||||||
copyBackupToTestServer
|
|
||||||
29
backup_scripts/postgres/pre_backup_docker.sh
Normal file
29
backup_scripts/postgres/pre_backup_docker.sh
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DATE=$(date +%F)
|
||||||
|
DIRBACKUP="/data/backups"
|
||||||
|
DBUSER="postgres"
|
||||||
|
|
||||||
|
getDbName() {
|
||||||
|
docker exec postgresql bash -c "psql -lA -x -U postgres -p 5432 -d postgres | \
|
||||||
|
grep Name | grep -v -P 'template0|template1' | cut -f 2 -d '|'"
|
||||||
|
}
|
||||||
|
|
||||||
|
DBLIST=$(getDbName)
|
||||||
|
|
||||||
|
createBackup() {
|
||||||
|
for db in $DBLIST; do
|
||||||
|
echo "===================================="
|
||||||
|
echo "START create backup database: ${db}"
|
||||||
|
|
||||||
|
docker exec postgresql bash -c "pg_dump -Fc -U ${DBUSER} -p 5432 -d ${db}" > "${DIRBACKUP}/${db}-${DATE}".sql
|
||||||
|
|
||||||
|
bzip2 -9 "${DIRBACKUP}/${db}-${DATE}".sql
|
||||||
|
|
||||||
|
echo "END database bzip2: ${db}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $(ls -A ${DIRBACKUP}) ]] 2>/dev/null && echo "dir ${DIRBACKUP} not empty" && exit 123
|
||||||
|
|
||||||
|
createBackup
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
DATE=$(date +%F)
|
DATE=$(date +%F)
|
||||||
DIRBACKUP="/data/backups"
|
DIRBACKUP="/data/backups"
|
||||||
DBUSER="postgres"
|
DBUSER="postgres"
|
||||||
|
TEST_BACKUP_SERVER="h-license-manager-backup-server.avroid.cloud"
|
||||||
|
|
||||||
get_leader() {
|
get_leader() {
|
||||||
curl -s 127.0.0.1:8008 | jq -j ".role"
|
curl -s 127.0.0.1:8008 | jq -j ".role"
|
||||||
@@ -28,12 +29,18 @@ createBackup() {
|
|||||||
|
|
||||||
bzip2 -9 "${DIRBACKUP}/${db}-${DATE}".sql
|
bzip2 -9 "${DIRBACKUP}/${db}-${DATE}".sql
|
||||||
|
|
||||||
|
copyBackupToTestServer "${DIRBACKUP}/${db}-${DATE}".sql.bz2 ${TEST_BACKUP_SERVER}
|
||||||
|
|
||||||
echo "END database bzip2: ${db}"
|
echo "END database bzip2: ${db}"
|
||||||
done
|
done
|
||||||
|
|
||||||
pg_dumpall -p 15432 -U postgres --roles-only > "${DIRBACKUP}/roles-${DATE}".sql
|
pg_dumpall -p 15432 -U postgres --roles-only > "${DIRBACKUP}/roles-${DATE}".sql
|
||||||
|
copyBackupToTestServer "${DIRBACKUP}/roles-${DATE}".sql ${TEST_BACKUP_SERVER}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copyBackupToTestServer() {
|
||||||
|
rsync $1 $2::backup || true
|
||||||
|
}
|
||||||
|
|
||||||
[[ $(ls -A ${DIRBACKUP}) ]] 2>/dev/null && echo "dir ${DIRBACKUP} not empty" && exit 123
|
[[ $(ls -A ${DIRBACKUP}) ]] 2>/dev/null && echo "dir ${DIRBACKUP} not empty" && exit 123
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user