From 5c22d09a997ae51deec2ce3d7bc575528c135a7d Mon Sep 17 00:00:00 2001 From: Jonas Kaninda Date: Sat, 23 Dec 2023 22:02:26 +0100 Subject: [PATCH] Refactoring of code --- .gitignore | 3 ++- README.md | 2 +- src/pg_bkup.sh | 14 +++++++------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 2a50d4c..8c1eacb 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ backup data compose.yaml -.env \ No newline at end of file +.env +test.md \ No newline at end of file diff --git a/README.md b/README.md index 075ca9d..b827a04 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ bkup --operation restore --storage s3 --file database_20231217_115621.sql --dbna ## Docker run: ```sh -docker run --rm --network your_network_name --name pg-bkup -v $PWD/backup:/backup/ -e "DB_HOST=database_host_name" -e "DB_USERNAME=username" -e "DB_PASSWORD=password" jkaninda/pg-bkup:latest bkup -o backup -d database_name -f napata_20231219_022941.sql.gz +docker run --rm --network your_network_name --name pg-bkup -v $PWD/backup:/backup/ -e "DB_HOST=database_host_name" -e "DB_USERNAME=username" -e "DB_PASSWORD=password" jkaninda/pg-bkup bkup -o restore -d database_name -f napata_20231219_022941.sql.gz ``` ## Docker compose file: diff --git a/src/pg_bkup.sh b/src/pg_bkup.sh index 584debb..c175453 100755 --- a/src/pg_bkup.sh +++ b/src/pg_bkup.sh @@ -116,7 +116,7 @@ create_pgpass(){ } backup() { - if [ -z "${DB_HOST}"] || [ -z "${DB_NAME}"] || [ -z "${DB_USERNAME}"] || [ -z "${DB_PASSWORD}"]; then +if [[ -z $DB_HOST ]] || [[ -z $DB_NAME ]] || [[ -z $DB_USERNAME ]] || [[ -z $DB_PASSWORD ]]; then echo "Please make sure all required options are set " else export PGPASSWORD=${DB_PASSWORD} @@ -124,6 +124,8 @@ else ## Backup database pg_dump -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USERNAME} -d ${DB_NAME} -v | gzip > ${STORAGE_PATH}/${DB_NAME}_${TIME}.sql.gz + echo "$TIME: ${DB_NAME}_${TIME}.sql.gz" | tee -a "${STORAGE_PATH}/history.txt" + echo "Database has been saved" fi exit 0 @@ -131,15 +133,13 @@ exit 0 restore() { -if [ -z "${DB_HOST}" ] || [ -z "${DB_NAME}" ] || [ -z "${DB_USERNAME}" ] || [ -z "${DB_PASSWORD}" ]; then +if [[ -z $DB_HOST ]] || [[ -z $DB_NAME ]] || [[ -z $DB_USERNAME ]] || [[ -z $DB_PASSWORD ]]; then echo "Please make sure all required options are set " else ## Restore database - export PGPASSWORD=${DB_PASSWORD} + export PGPASSWORD=$DB_PASSWORD if [ -f "${STORAGE_PATH}/$FILE_NAME" ]; then - #pg_restore -h ${DB_HOST} -P ${DB_PORT} -U ${DB_USERNAME} -v -d ${DB_NAME} ${STORAGE_PATH}/$FILE_NAME - #cat ${STORAGE_PATH}/${FILE_NAME} | psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USERNAME} -v -d ${DB_NAME} < ${STORAGE_PATH}/$FILE_NAME - if gzip -t ${STORAGE_PATH}/$FILE_NAME; then + if gzip -t $STORAGE_PATH/$FILE_NAME; then zcat ${STORAGE_PATH}/${FILE_NAME} | psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USERNAME} -v -d ${DB_NAME} else cat ${STORAGE_PATH}/${FILE_NAME} | psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USERNAME} -v -d ${DB_NAME} @@ -167,7 +167,7 @@ s3_restore() mount_s3() { -if [ -z "${ACCESS_KEY}"] || [ -z "${SECRET_KEY}"]; then +if [[ -z $ACCESS_KEY ]] || [[ -z $SECRET_KEY ]]; then echo "Please make sure all environment variables are set " echo "BUCKETNAME=$BUCKETNAME \nACCESS_KEY=$nACCESS_KEY \nSECRET_KEY=$SECRET_KEY" else