Skip to content

Commit 5b8a892

Browse files
committed
feat: get prod db script using s3 bucket
1 parent 55b2b56 commit 5b8a892

File tree

1 file changed

+13
-31
lines changed

1 file changed

+13
-31
lines changed

scripts/get_prod_db.sh

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,15 @@ CONTAINER=lomake_db
44
SERVICE_NAME=db
55
DB_NAME=postgres
66

7-
# current_date=$(date +"%Y%m%d")
8-
LOMAKE_FILE_NAME="lomake.sql.gz"
9-
10-
SERVER=toska.cs.helsinki.fi
11-
SERVER_PATH=/home/toska_user/most_recent_backup_store/
12-
MELKKI=melkki.cs.helsinki.fi
13-
BACKUP_PATH=${SERVER_PATH}${LOMAKE_FILE_NAME}
7+
current_date=$(date +"%Y%m%d")
8+
FILE_NAME="lomake_${current_date}.sql.gz"
9+
FOLDER_NAME="lomake"
1410

1511
PROJECT_ROOT=$(dirname $(dirname $(realpath "$0")))
1612
BACKUPS=$PROJECT_ROOT/backups/
1713
DOCKER_COMPOSE=$PROJECT_ROOT/docker-compose.yml
1814

19-
USER_DATA_FILE_PATH=$PROJECT_ROOT/scripts/my_username
20-
21-
username=""
15+
S3_CONF=~/.s3cfg
2216

2317
retry () {
2418
for i in {1..60}
@@ -27,32 +21,20 @@ retry () {
2721
done
2822
}
2923

30-
get_username() {
31-
# Check if username has already been set
32-
[ -z "$username" ]|| return 0
33-
34-
# Check if username is saved to data file and ask it if not
35-
if [ ! -f "$USER_DATA_FILE_PATH" ]; then
36-
echo ""
37-
echo "!! No previous username data found. Will ask it now !!"
38-
echo "Enter your Uni Helsinki username:"
39-
read username
40-
echo $username > $USER_DATA_FILE_PATH
41-
echo "Succesfully saved username"
42-
echo ""
43-
fi
44-
45-
# Set username
46-
username=$(cat $USER_DATA_FILE_PATH | head -n 1)
47-
}
24+
if [ ! -f "$S3_CONF" ]; then
25+
echo ""
26+
echo "!! No config file for s3 bucket !!"
27+
echo "Create file for path ~/.s3cfg and copy the credetials from version.helsinki.fi"
28+
echo ""
29+
return 0
30+
fi
4831

4932
echo "Creating backups folder"
5033
mkdir -p ${BACKUPS}
5134

5235
echo "Fetching a new dump"
53-
get_username
5436

55-
scp -r -o ProxyCommand="ssh -l $username -W %h:%p $MELKKI" $username@$SERVER:$BACKUP_PATH $BACKUPS
37+
s3cmd -c $S3_CONF get "s3://psyduck/${FOLDER_NAME}/${FILE_NAME}" $BACKUPS
5638

5739
echo "Removing database and related volume"
5840
docker-compose -f $DOCKER_COMPOSE down -v
@@ -63,4 +45,4 @@ docker-compose -f $DOCKER_COMPOSE up -d $SERVICE_NAME
6345
retry docker-compose -f $DOCKER_COMPOSE exec $SERVICE_NAME pg_isready --dbname=$DB_NAME
6446

6547
echo "Populating Lomake"
66-
docker exec -i $CONTAINER /bin/bash -c "gunzip | psql -U postgres" < ${BACKUPS}${LOMAKE_FILE_NAME}
48+
docker exec -i $CONTAINER /bin/bash -c "gunzip | psql -U postgres" < ${BACKUPS}${FILE_NAME}

0 commit comments

Comments
 (0)