diff --git a/.gitignore b/.gitignore index 64bdf8b..d552812 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ test.md .DS_Store mysql-bkup /.DS_Store -/.idea \ No newline at end of file +/.idea +bin \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..08a3ad2 --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +BINARY_NAME=mysql-bkup +include .env +export +run: + go run . + +build: + go build -o bin/${BINARY_NAME} . + +compile: + GOOS=darwin GOARCH=arm64 go build -o bin/${BINARY_NAME}-darwin-arm64 . + GOOS=darwin GOARCH=amd64 go build -o bin/${BINARY_NAME}-darwin-amd64 . + GOOS=linux GOARCH=arm64 go build -o bin/${BINARY_NAME}-linux-arm64 . + GOOS=linux GOARCH=amd64 go build -o bin/${BINARY_NAME}-linux-amd64 . + +docker-build: + docker build -f docker/Dockerfile -t jkaninda/mysql-bkup:latest . + +docker-run: docker-build + docker run --rm --network internal --privileged --device /dev/fuse --name mysql-bkup -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" jkaninda/mysql-bkup bkup backup + + +docker-run-scheduled: docker-build + docker run --rm --network internal --privileged --device /dev/fuse --name mysql-bkup -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" jkaninda/mysql-bkup bkup backup --mode scheduled --period "* * * * *" + + +docker-run-scheduled-s3: docker-build + docker run --rm --network internal --privileged --device /dev/fuse --name mysql-bkup -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "ACCESS_KEY=${ACCESS_KEY}" -e "SECRET_KEY=${SECRET_KEY}" -e "BUCKET_NAME=${BUCKET_NAME}" -e "S3_ENDPOINT=${S3_ENDPOINT}" jkaninda/mysql-bkup bkup backup --storage s3 --mode scheduled --path /custom-path --period "* * * * *" + +docker-restore-s3: docker-build + docker run --rm --network internal --privileged --device /dev/fuse --name mysql-bkup -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "ACCESS_KEY=${ACCESS_KEY}" -e "SECRET_KEY=${SECRET_KEY}" -e "BUCKET_NAME=${BUCKET_NAME}" -e "S3_ENDPOINT=${S3_ENDPOINT}" -e "FILE_NAME=${FILE_NAME}" jkaninda/mysql-bkup bkup restore --storage s3 --path /custom-path + diff --git a/build.sh b/build.sh deleted file mode 100755 index 67a2b6d..0000000 --- a/build.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -if [ $# -eq 0 ] - then - tag='latest' - else - tag=$1 -fi - -#go build -CGO_ENABLED=0 GOOS=linux go build - -docker build -f docker/Dockerfile -t jkaninda/mysql-bkup:$tag . - -#docker compose up -d --force-recreate \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 6e4111b..22122ed 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -16,7 +16,7 @@ ENV DB_USERNAME="" ENV DB_PASSWORD="" ENV DB_PORT="3306" ENV STORAGE=local -ENV BUCKETNAME="" +ENV BUCKET_NAME="" ENV ACCESS_KEY="" ENV SECRET_KEY="" ENV S3_ENDPOINT=https://s3.amazonaws.com