#!/bin/bash
#auto backup mysql db
#by authors YHT 20200718
#指定备份后存储的位置
BAK_DIR=/practiceYht/shellTest2/backup_mysql_db/`date +%Y%m%d`
#指定要备份的数据库
MYSQLDB=company
#指定数据库的用户
MYSQLUSER=root
#指定数据库的密码
MYSQLPW=000000
#指定备份数据库的命令
MYSQLCMD=/usr/bin/mysqldump
#使用上面的mysqldump命令需要使用某些权限,
#如果是普通用户的话需要赋予某些权限
#所以直接使用root避免权限问题
#当使用root用户的时候,系统的UID变量的值为0
#所以就首先判断UID是否为0来判断当前用户是否是root
if [ $UID -ne 0 ];then
echo "必须使用root用户来执行此shell"
exit
fi
#准备一个存储备份数据库的文件夹
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
echo "$BAK_DIR 创建成功!"
else
echo "$BAK_DIR 文件已经存在!"
fi
#开始备份数据库
$MYSQLCMD -u$MYSQLUSER -p$MYSQLPW -d $MYSQLDB >$BAK_DIR/$MYSQLDB.sql
if [ $? -eq 0 ];then
echo "数据库$MYSQLDB备份成功"
else
echo "数据库$MYSQLDB备份失败"
fi