Innobackupex自动化备份脚本

Innobackupex自动化备份脚本

[mysql@mysql1 ~]$ more mysql_full_backup_by_xtra.sh

#!/bin/bash

#create by allen

source /data/mysqldata/scripts/mysql_env.ini

DATA_PATH=/data/mysqldata/backup/mysql_full

DATA_FILE=${DATA_PATH}/xtra_fullbak_`date +%F`.tar.gz

LOG_FILE=${DATA_PATH}/xtra_fullbak_`date +%F`.log

ORI_CONF_FILE=/data/mysqldata/3306/my.cnf

NEW_CONF_FILE=${DATA_PATH}/my_3306_`date +%F`.cnf

MYSQL_PATH=/usr/bin

扫描二维码关注公众号,回复: 1148065 查看本文章

MYSQL_CMD="${MYSQL_PATH}/innobackupex --defaults-file=${ORI_CONF_FILE} --user=xtrabk --password=onlybackup --stream=tar /tmp"

echo > ${LOG_FILE}

echo -e "=== Jobs started at `date +%F' '%T' '%w` ===\n" >> ${LOG_FILE}

echo -e "=== First cp my.cnf file to backup directory ===" >> ${LOG_FILE}

/bin/cp ${ORI_CONF_FILE} ${NEW_CONF_FILE}

echo > ${LOG_FILE}

echo -e "*** Executed command:${MYSQL_CMD} | gzip > ${DATA_FILE}" >> ${LOG_FILE}

${MYSQL_CMD} | gzip > ${DATA_FILE}

echo -e "*** Executed finished at `date +%F' '%T' '%w` ===" >> ${LOG_FILE}

echo -e "*** Backup file size:`du -sh ${DATA_FILE}` ===\n" >> ${LOG_FILE}

echo -e "--- Find expired backup and delete those files ---" >> ${LOG_FILE}

for tfile in $(/usr/bin/find $DATA_PATH -mtime +6)

do

         if [ -d $tfile ] ; then

                   rmdir $tfile

         elif [ -f $tfile ] ; then

                   rm -f $tfile

         fi

         echo -e "--- Delete file:$tfile ---" >> ${LOG_FILE}

done

echo -e "\n=== Jobs ended at `date +%F' '%T' '%w` ===\n" >> ${LOG_FILE}

猜你喜欢

转载自allenhu0320.iteye.com/blog/2185960