User Tools

Site Tools


furnished_bckup_mysql

Furnished Bckup

| mysqlbk.sh
#!/bin/bash
#########################################################################
# Backup Database
# You can call this script from cron.
# if you have any issue write back to me
# k2patel@live.com !!! ;) it is microsoft ? yeah dont junk me junk them
#########################################################################
 
mysqldump=$(which mysqldump)
mysql=$(which mysql)
gzip=$(which gzip)
chown=$(which chown)
DATE=$(date +%Y%m%d)
 
# Which user suppose to own this file
# If no value specified it is own by the owner of cron.
# you need to apply here e.g OWN_FILE="xyz"
 
OWN_FILE=""
 
 
# Please update to suitable backup folder.
# e.g. BACKUP_DIR="/home/xyz/sqlbackup"
 
BACKUP_DIR=""
 
# Add your mysql common password for all database
# For safety create read only user for all database
# Ignore using root password. e.g. DB_PASS="sds%87("
 
DB_PASS=""
 
# Add your databse Username following variable
# e.g. DB_USR="xyzdb"
 
DB_USR=""
 
# Specify your DB Host
 
DB_HOST=""
 
# Ignore following databse from backup
 
IGNORE="test"
 
# Get list of all databases
DB_LIST=`$mysql -h $DB_HOST -Bse -u $DB_USR -p$DB_PASS 'show databases'`
 
for db in $DB_LIST; do
 
        # set skip variable
        skip=0
 
        if [ "$IGNORE" != "" ]; then
                for i in $IGNORE; do
                        [ "$db" == "$i" ] && skip=1 || :
                done
        fi
 
        if [ "$skip" == "0" ]; then
                $mysqldump -R -h $DB_HOST -u $DB_USR -p$DB_PASS $db | $gzip -9 > $BACKUP_DIR/$db.$DATE.sql.gz
		if [ "$OWN_FILE" != ""]; then 
			$chown $OWN_FILE $BACKUP_DIR/$db.$DATE.sql.gz
		fi
        fi
 
done
 
exit 0
furnished_bckup_mysql.txt · Last modified: 2020/08/10 02:35 (external edit)