diff --git a/Makefile b/Makefile deleted file mode 100644 index 5c1db16..0000000 --- a/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -BINARY_NAME=mysql-bkup -IMAGE_NAME=jkaninda/mysql-bkup - -include .env -export -run: - go run . backup - -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 web --name mysql-bkup -v "./backup:/backup" -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} backup --prune --keep-last 2 -docker-restore: docker-build - docker run --rm --network web --name mysql-bkup -v "./backup:/backup" -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} restore -f ${FILE_NAME} - -docker-run-migrate: docker-build - docker run --rm --network web --name mysql-bkup --env-file .env -v "./backup:/backup" ${IMAGE_NAME} migrate - -docker-run-scheduled: #docker-build - docker run --rm --network web --name mysql-bkup -v "./backup:/backup" -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} backup --mode scheduled --period "* * * * *" - - -docker-run-scheduled-s3: docker-build - docker run --rm --network web --name mysql-bkup -v "./backup:/backup" -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=${AWS_S3_ENDPOINT}" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} backup --storage s3 --mode scheduled --path /custom-path --period "* * * * *" - -docker-run-s3: docker-build - docker run --rm --network web --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 "AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME}" -e "AWS_S3_ENDPOINT=${AWS_S3_ENDPOINT}" -e "AWS_REGION=eu2" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} backup --storage s3 --path /custom-path - - -docker-restore-s3: docker-build - docker run --rm --network web --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=${AWS_S3_BUCKET_NAME}" -e "S3_ENDPOINT=${AWS_S3_ENDPOINT}" -e "AWS_REGION=eu2" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} restore --storage s3 -f ${FILE_NAME} --path /custom-path - -docker-run-ssh: docker-build - docker run --rm --network web --name mysql-bkup -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "SSH_USER=${SSH_USER}" -e "SSH_HOST_NAME=${SSH_HOST_NAME}" -e "SSH_REMOTE_PATH=${SSH_REMOTE_PATH}" -e "SSH_PASSWORD=${SSH_PASSWORD}" -e "SSH_PORT=${SSH_PORT}" -e "SSH_IDENTIFY_FILE=${SSH_IDENTIFY_FILE}" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" ${IMAGE_NAME} backup --storage ssh - -docker-restore-ssh: docker-build - docker run --rm --network web --name mysql-bkup -e "DB_HOST=${DB_HOST}" -e "DB_NAME=${DB_NAME}" -e "DB_USERNAME=${DB_USERNAME}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "SSH_USER=${SSH_USER}" -e "SSH_HOST_NAME=${SSH_HOST_NAME}" -e "SSH_REMOTE_PATH=${SSH_REMOTE_PATH}" -e "SSH_PASSWORD=${SSH_PASSWORD}" -e "SSH_PORT=${SSH_PORT}" -e "GPG_PASSPHRASE=${GPG_PASSPHRASE}" -e "SSH_IDENTIFY_FILE=${SSH_IDENTIFY_FILE}" ${IMAGE_NAME} restore --storage ssh -f ${FILE_NAME} - -run-docs: - cd docs && bundle exec jekyll serve -H 0.0.0.0 -t \ No newline at end of file diff --git a/cmd/root.go b/cmd/root.go index 5a08ee6..2380c2c 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -31,7 +31,6 @@ func Execute() { func init() { rootCmd.PersistentFlags().StringP("dbname", "d", "", "Database name") - rootCmd.PersistentFlags().IntP("port", "p", 3306, "Database port") rootCmd.PersistentFlags().StringVarP(&operation, "operation", "o", "", "Set operation, for old version only") rootCmd.AddCommand(VersionCmd) rootCmd.AddCommand(BackupCmd) diff --git a/pkg/backup.go b/pkg/backup.go index da35765..9bba739 100644 --- a/pkg/backup.go +++ b/pkg/backup.go @@ -20,8 +20,6 @@ func StartBackup(cmd *cobra.Command) { _, _ = cmd.Flags().GetString("operation") //Set env utils.SetEnv("STORAGE_PATH", storagePath) - utils.GetEnv(cmd, "dbname", "DB_NAME") - utils.GetEnv(cmd, "port", "DB_PORT") utils.GetEnv(cmd, "period", "BACKUP_CRON_EXPRESSION") //Get flag value and set env diff --git a/pkg/config.go b/pkg/config.go index 59478b3..a0236c5 100644 --- a/pkg/config.go +++ b/pkg/config.go @@ -27,7 +27,6 @@ type dbSourceConfig struct { func getDbConfig(cmd *cobra.Command) *dbConfig { //Set env utils.GetEnv(cmd, "dbname", "DB_NAME") - utils.GetEnv(cmd, "port", "DB_PORT") dConf := dbConfig{} dConf.dbHost = os.Getenv("DB_HOST") dConf.dbPort = os.Getenv("DB_PORT")