加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

备份infobright数据库

发布时间:2020-12-15 07:06:38 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bash#Author Castle Liu#Date2014-05-28_BACKUP_DIR='/data/backup/IB/'_BACKUP_NAME=IB`date +"%Y%m%d%H"`_WORKING_DIR=${_BACKUP_DIR}${_BAC

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/bin/bash
#Author Castle Liu
#Date	2014-05-28
_BACKUP_DIR='/data/backup/IB/'
_BACKUP_NAME=IB`date +"%Y%m%d%H"`
_WORKING_DIR=${_BACKUP_DIR}${_BACKUP_NAME}
_TMP_F='/tmp/backUpInforBright'
_DBUSER=''
_DBPASSWD=''
_DB='PE_DW'
_HEADER='date +"%F %T"'
_QUERY_CMD='mysql-ib'
_BACKUP_CMD='/usr/local/infobright/bin/mysqldump'

####functions###
#help
#function used to print help info.
help() {
        cat <<EOF
        -d      how many days ago's file you want to delete on backup_dir.,default 7;
        -h      print help information.
EOF
}

#parse_args
#function to parse paremeters.
#do pass in the args from shell,for example:parse_args $*
parse_args(){
        while getopts "ht:d:s:" arg
        do
                case ${arg} in
                        h)
                                help
                                exit 0
                                ;;
                        d)
                                export _DAY=${OPTARG}
                                ;;
                        ?)
                                echo "Unknown argument,exit..."
                                exit 1
                                ;;
                        esac
        done
}

#backUpTable
#backup the table
backUpTable(){
	tableName=$1
	echo "`eval ${_HEADER}` Start backing up table ${tableName}..."|tee -a ${_TMP_F}
	${_BACKUP_CMD} -u${_DBUSER} -p${_DBPASSWD} --lock-tables=false ${_DB} ${tableName} > ${_WORKING_DIR}/${tableName}.sql|tee -a ${_TMP_F}
	fileSize=`ls -lh  ${_WORKING_DIR}/${tableName}.sql|awk '{print $5}'`
	echo "`eval ${_HEADER}` End backing up table:${tableName},Size:${fileSize}."|tee -a ${_TMP_F}
}



###main###
echo "`eval ${_HEADER}` InforBright backUp begin..."|tee ${_TMP_F}
parse_args $*

#Delete files on backup dir.
_DAY=${_DAY:-7}
#find ${_BACKUP_DIR} -mtime 7 -exec rm -rf {} ;
#echo ${_DAY}

#backup inforbright
mkdir -p ${_WORKING_DIR}
${_QUERY_CMD} -u${_DBUSER} -p${_DBPASSWD} -e "select table_name from information_schema.tables where table_schema='PE_DW';"|awk 'NR>2{print}' > running.tmp
cat ${_TMP_F}.tmp|while read table
do
	if [[ ${table} != "EOF" ]];then
		#echo ${table}
		backUpTable ${table}
	fi
done

cd ${_BACKUP_DIR}
tar -czvf ${_BACKUP_NAME}.tar.gz ${_BACKUP_NAME}
rm -rf ${_BACKUP_NAME}
echo "`eval ${_HEADER}` InforBright backUp end."|tee -a ${_TMP_F}

#send a email to acknowage backup info
pmail "***ALIYUN_INFORBRIGHT_BACKUP_REPORT***" "${_TMP_F}"

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读