mirror of
https://github.com/jkaninda/mysql-bkup.git
synced 2025-12-06 13:39:41 +01:00
Refactoring of code
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -2,4 +2,6 @@
|
|||||||
backup
|
backup
|
||||||
data
|
data
|
||||||
compose.yaml
|
compose.yaml
|
||||||
.env
|
.env
|
||||||
|
test.md
|
||||||
|
.DS_Store
|
||||||
@@ -5,7 +5,7 @@ MySQL Backup tool, backup database to S3 or Object Storage
|
|||||||

|

|
||||||

|

|
||||||
|
|
||||||
> Run on:
|
> Runs on:
|
||||||
- Docker
|
- Docker
|
||||||
- Kubernetes
|
- Kubernetes
|
||||||
|
|
||||||
|
|||||||
2
build.sh
2
build.sh
@@ -8,4 +8,4 @@ fi
|
|||||||
|
|
||||||
docker build -f src/docker/Dockerfile -t jkaninda/mysql-bkup:$tag .
|
docker build -f src/docker/Dockerfile -t jkaninda/mysql-bkup:$tag .
|
||||||
|
|
||||||
docker-compose up -d
|
docker compose up -d
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
TIME=$(date +%Y%m%d_%H%M%S)
|
TIME=$(date +%Y%m%d_%H%M%S)
|
||||||
MY_SQL_DUMP=/usr/bin/mysqldump
|
MY_SQL_DUMP=/usr/bin/mysqldump
|
||||||
@@ -109,14 +110,15 @@ flags()
|
|||||||
|
|
||||||
backup()
|
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 "
|
echo "Please make sure all required environment variables are set "
|
||||||
else
|
else
|
||||||
## Test database connection
|
## Test database connection
|
||||||
mysql -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USERNAME} --password=${DB_PASSWORD} ${DB_NAME} -e"quit"
|
mysql -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USERNAME} --password=${DB_PASSWORD} ${DB_NAME} -e"quit"
|
||||||
|
|
||||||
## Backup database
|
## Backup database
|
||||||
mysqldump -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USERNAME} --password=${DB_PASSWORD} ${DB_NAME} | gzip > ${STORAGE_PATH}/${DB_NAME}_${TIME}.sql.gz
|
mysqldump -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USERNAME} --password=${DB_PASSWORD} ${DB_NAME} | 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"
|
echo "Database has been saved"
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
@@ -124,8 +126,8 @@ exit 0
|
|||||||
|
|
||||||
restore()
|
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 "
|
echo "Please make sure all required environment variables are set "
|
||||||
else
|
else
|
||||||
## Restore database
|
## Restore database
|
||||||
if [ -f "${STORAGE_PATH}/$FILE_NAME" ]; then
|
if [ -f "${STORAGE_PATH}/$FILE_NAME" ]; then
|
||||||
@@ -157,7 +159,7 @@ s3_restore()
|
|||||||
|
|
||||||
mount_s3()
|
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 "Please make sure all environment variables are set "
|
||||||
echo "BUCKETNAME=$BUCKETNAME \nACCESS_KEY=$nACCESS_KEY \nSECRET_KEY=$SECRET_KEY"
|
echo "BUCKETNAME=$BUCKETNAME \nACCESS_KEY=$nACCESS_KEY \nSECRET_KEY=$SECRET_KEY"
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user