Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ## Check required command
- if ! type expect > /dev/null
- then
- ## apt-get -v &> /dev/null && apt-get install expect || yum install expect
- echo "Install 'expect'"
- fi
- ## Mysql config
- # TODO(): change config data
- MUSER="<user name>"
- MPASS="<user pass>"
- MHOST="localhost"
- MDBASE="<database name>"
- MYSQL="$(which mysql)"
- MYSQLDUMP="$(which mysqldump)"
- ## WRITE HERE EXCLUDE TABLES
- EXCLUDE_TABLES=(
- logs
- )
- IGNORED_TABLES_STRING=''
- for TABLE in "${EXCLUDE_TABLES[@]}"
- do
- IGNORED_TABLES_STRING+=" --ignore-table=${MDBASE}.${TABLE}"
- done
- ## Storage config
- # TODO(): change storage config
- SSH_HOST="<host for backup>"
- SSH_USER="<user>"
- SSH_KEY="<path to ssh key>"
- SSH_PASS=$MPASS
- SSH_PATH="<path to backup directory>"
- NOW=$(date +"%d-%m-%Y")
- GZIP="$(which gzip)"
- ## Create dump
- [ ! -d "$SSH_PATH" ] && mkdir -p "$SSH_PATH"
- FILE=$SSH_PATH$MDBASE$NOW-$(date +"%T").gz
- $MYSQLDUMP --single-transaction \
- -u $MUSER \
- -h $MHOST \
- -p$MPASS \
- $MDBASE \
- | $GZIP -9 \
- > $FILE
- scp -i $SSH_KEY $FILE SSH_USER@SSH_HOST:$SSH_PATH
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement