hongblue 发表于 2018-8-23 11:09:00

shell---mysql备份

#!/bin/bash  
#File: mysql_backup.sh
  
#Date 2016-1-9
  

  
BACKDES=/data/msyql_back/`date +%Y-%m-%d`   //创建存放备份数据的目录
  
BACKNAME=`date +%Y-%m-%d`   //备份时取名,可以省略
  
DATABASE=test      //备份的数据库
  
MYSQLUSER=root   //备份时的用户名
  
#MYSQLSEC=         //备份时的密码,考虑安全,一般手动输入
  

  
if [ $UID -ne 0 ] ; then   //此段if语句,表示必须使用root用户备份
  
      echo " You must use root to backup!"
  
      sleep 2
  
      exit
  
fi
  

  
if [ ! -d $BACKDES ] ; then      //此段if语句,表示存放数据的目录不存在就创建
  
      mkdir -p $BACKDES
  
else
  
      echo "This dir exists."
  
fi
  

  
cd $BACKDES && /usr/bin/mysqldump -u $MYSQLUSER -p -d $DATABASE > "$BACKNAME".sql   //进入到存放数据的目录中,在当前执行备份数据库的命令
  

  
if [ $? -le 0 ] ; then      //此段if语句表示上一条指令执行成功,则将.sql打包,并提示导出数据库成功
  
      tar -czvf "$BACKNAME".tar.gz "$BACKNAME".sql
  
      echo "$DATABASE check is successful!"
  
else
  
      echo "Checkout $DATABASE is not successful!"
  
fi
  

  
cd /data/msyql_back/ && find . -type d -mtime +10 -exec rm -rf {} \; && ls   //删除10天前的目录,并查看当前目录
  

  
if [ $? -le 0 ] ; then      //如果上一条执行成功,提示数据备份完成,否则提示有报错,需要检查。
  
      echo "Congratulations, the data package backup successful!"
  
else
  
      echo "Sorry, something error, must check it!"
  
fi


页: [1]
查看完整版本: shell---mysql备份