国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 基礎知識 > 正文

xtrabackup自動全備份腳本

2024-09-12 20:29:57
字體:
來源:轉載
供稿:網友
  xtrabackup自動全備份腳本,具有發送郵件和主從判斷功能.
  ##set environment##
  . ~/.bash_profile
  BASEDIR="/data_bak"
  SPACE_RATE=95        #space rate 95
  SPACE_ROOM=10485760  #10GB
  WORKPATH=/data_bak/mysqlbackup/percona
  DATETIME=`date '+%Y%m%d%H%M'`
  INNOBACKUPEX="/usr/bin/innobackupex-1.5.1"
  MYSQL="/home/mysqlapp/product/bin/mysql"
  BACKUP_USER="root"
  BACKUP_PASSWD="******"
  BACKUP_HOST="localhost"
  BACKUP_PORT="3306"
  DEFAULTS_FILE="/home/mysqlapp/config/my.cnf"
  SOCKET="/home/mysqlapp/dbdata/mysqld.sock"
  DATE_VAR=`date +%F_%H-%M-%S`
 
  MAIL_LIST="xianyezhao@richinfo.cn"
  MAIL_BIN="/home/crond/bsmtp"
  MAIL_IP="*****"
 
  #sent mail:0 error backup; 1 success backup
  my_sentmail()
  {
  if [ $1 == 1 ]; then
     echo " " | ${MAIL_BIN} -f `hostname`@139.com -h smtp.api.localdomain -s "${MAIL_IP}:Succes Innobackupex backup"  ${MAIL_LIST}  < ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  else
     echo " " | ${MAIL_BIN} -f `hostname`@139.com -h smtp.api.localdomain -s "${MAIL_IP}:Error Innobackupex backup"  ${MAIL_LIST}  < ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  fi
  }
 
  # Step 1: if slave status is ok,then backup the databases,else send error information and exit
  $MYSQL -u$BACKUP_USER -h$BACKUP_HOST  -p$BACKUP_PASSWD -Bse"show slave status /G">${WORKPATH}/slave_status.txt
  SLAVE_IO_RUNNING_STATUS=`cat ${WORKPATH}/slave_status.txt|grep Slave_IO_Running|cut -d: -f2|sed s/[[:space:]]//g`
  SLAVE_SQL_RUNNING_STATUS=`cat ${WORKPATH}/slave_status.txt|grep Slave_SQL_Running|cut -d: -f2|sed s/[[:space:]]//g`
 
  if [ ${SLAVE_IO_RUNNING_STATUS} != Yes ]; then
  echo "SLAVE_IO_RUNNING_STATUS is not Yes">${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  my_sentmail 0
  exit 0
  fi
 
  if [ ${SLAVE_SQL_RUNNING_STATUS} != Yes ]; then
  echo "SLAVE_SQL_RUNNING_STATUS is not Yes">${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  my_sentmail 0
  exit 0
  fi
 
  # Step 2: To check the backup work directory room
  # if nfs then $1 and $4
  SPACE_ROOM_CK=`df -k | grep "$BASEDIR" | awk '{print $2}'`
  SPACE_USED_RATE=`df -k | grep "$BASEDIR" | awk '{print $5}' |awk -F% '{print $1}'`
 
 
  if [ ${SPACE_USED_RATE} -lt ${SPACE_RATE} ] && [ ${SPACE_ROOM_CK} -gt ${SPACE_ROOM} ]
  then
      echo "There have enough room for backup,let goto backup our database now" >> ${WORKPATH}/log/${BACKUP_FILE_NAME}_$WORKDATE.log
  else
      echo "There have not enough room for our backup work,sadly to heard that" >> ${WORKPATH}/log/${BACKUP_FILE_NAME}_$WORKDATE.log
      echo -e "The backup task fail cause for there have not enough space room for backup on directory /nDatabase's IP is ${BACKUP_HOST}" > ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
      my_sentmail 0
      exit 0
  fi
 
  ##Step 3:rm dmp file before 2 copys
  cd $WORKPATH/$1
  keepday=`ls -l|grep MYSQLBACKUP|wc -l`
  if [ $keepday -gt 1 ]
  then
   rm -fr `ls -lt|grep MYSQLBACKUP|tail -n 1|awk '{print $9}'`
  fi
  
  ##Step 4:make  dir
  cd $WORKPATH/$1
  TMPDIR="MYSQLBACKUP"`date '+%Y%m%d'`
  if [ ! -f  ${TMPDIR} ]
  then
  mkdir ${TMPDIR}
  fi
  
  #Step 5:to backup
  cd $TMPDIR
  ${INNOBACKUPEX} --user=${BACKUP_USER} --password=${BACKUP_PASSWD} --defaults-file=${DEFAULTS_FILE} --socket=${SOCKET} $WORKPATH/$1/${TMPDIR}/ 2>$WORKPATH/log/$1_${DATE_VAR}.log
  
  # echo The success info to the send mail information file
  echo `date '+%Y%m%d%H%M'` > ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  echo "Today backup success. " >> ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  echo `hostname`" for databases:"${ALL_DATABASES}>> ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  echo "Database's IP is ${BACKUP_HOST}">> ${WORKPATH}/maillog/mail_dba_${WORKDATE}.log
  
  echo `date '+%Y%m%d%H%M'` >> ${WORKPATH}/log/${BACKUP_FILE_NAME}_$WORKDATE.log
  echo "Today backup success! " >> ${WORKPATH}/log/${BACKUP_FILE_NAME}_$WORKDATE.log
  echo `hostname`" for databases:"${ALL_DATABASES} >> ${WORKPATH}/log/${BACKUP_FILE_NAME}_$WORKDATE.log
  echo "Database's IP is ${BACKUP_HOST}">> ${WORKPATH}/log/${BACKUP_FILE_NAME}_$WORKDATE.log
  my_sentmail 1
  exit 0

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九寨沟县| 高雄县| 呈贡县| 德令哈市| 璧山县| 大连市| 肇庆市| 九龙城区| 岗巴县| 漳平市| 喜德县| 时尚| 普洱| 镇安县| 尼玛县| 广南县| 江口县| 三台县| 伊春市| 安顺市| 汉沽区| 冕宁县| 三河市| 大石桥市| 彰化县| 仙居县| 江油市| 工布江达县| 丹东市| 望都县| 迁西县| 宁蒗| 始兴县| 保山市| 五指山市| 阜南县| 望奎县| 元氏县| 呼伦贝尔市| 汶上县| 岫岩|