diff --git a/.DS_Store b/.DS_Store index 86a62d9..b974f9d 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5dfeb3e..a6a3fd1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,7 +32,7 @@ jobs: uses: docker/build-push-action@v3 with: push: true - file: "./src/docker/Dockerfile" + file: "./src/Dockerfile" platforms: linux/amd64,linux/arm64 tags: | "${{env.BUILDKIT_IMAGE}}:v0.3" diff --git a/build.sh b/build.sh index d43c9e9..73b0cb8 100755 --- a/build.sh +++ b/build.sh @@ -6,6 +6,6 @@ if [ $# -eq 0 ] tag=$1 fi -docker build -f src/docker/Dockerfile -t jkaninda/mysql-bkup:$tag . +docker build -f src/Dockerfile -t jkaninda/mysql-bkup:$tag . -docker compose up -d \ No newline at end of file +#docker compose up -d \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..a7e3e08 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/jkaninda/mysql-bkup + +go 1.20 diff --git a/src/docker/Dockerfile b/src/Dockerfile similarity index 88% rename from src/docker/Dockerfile rename to src/Dockerfile index 583f1aa..b0f1e30 100644 --- a/src/docker/Dockerfile +++ b/src/Dockerfile @@ -13,7 +13,7 @@ ARG DEBIAN_FRONTEND=noninteractive ENV VERSION="v0.3" RUN apt-get update -qq -RUN apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support -y +#RUN apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support -y RUN apt install s3fs mysql-client supervisor cron -y # Clear cache @@ -34,4 +34,3 @@ RUN ln -s /usr/local/bin/mysql_bkup.sh /usr/local/bin/bkup RUN mkdir /backup WORKDIR /backup -#VOLUME /backup \ No newline at end of file diff --git a/src/mysql_bkup.sh b/src/mysql_bkup.sh index 42d3ad5..04a60c2 100755 --- a/src/mysql_bkup.sh +++ b/src/mysql_bkup.sh @@ -18,7 +18,7 @@ export S3_PATH=/mysql-bkup export TIMEOUT=60 export EXECUTION_MODE="default" export SCHEDULE_PERIOD="0 1 * * *" -export FILE_COMPRESION=true +export DISABLE_COMPRESION=false usage_info() { echo "Usage: \\" @@ -131,6 +131,11 @@ flags() [ $# = 0 ] && error "No timeout specified" export TIMEOUT="$1" shift;; + (--disable-compression) + shift + [ $# = 0 ] && error "No disable-compression specified" + export DISABLE_COMPRESION="$1" + shift;; (-h|--help) help;; (-V|--version) @@ -148,13 +153,16 @@ backup() fatal "Please make sure all required environment variables are set " else ## Test database connection - test_database_connection - ##mysql -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USERNAME} --password=${DB_PASSWORD} ${DB_NAME} -e"quit" - + test_database_connection ## 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 - echo "$TIME: ${DB_NAME}_${TIME}.sql.gz" | tee -a "${STORAGE_PATH}/history.txt" - info "Database has been saved" + export BK_FILE_NAME="${DB_NAME}_${TIME}.sql.gz" + mysqldump -h ${DB_HOST} -P ${DB_PORT} -u ${DB_USERNAME} --password=${DB_PASSWORD} ${DB_NAME} | gzip > ${STORAGE_PATH}/$BK_FILE_NAME + if [[ $? -eq 0 ]];then + echo $BK_FILE_NAME | tee -a "${STORAGE_PATH}/history.txt" + info "Database has been backed up" + else + fatal "An error occurred during the backup" + fi fi exit 0 }