#使用环境变量
###################
. /etc/profile
. ~/.bash_profile
##################
########数据库备份脚本###########
function mysqlbackup()
{
bakname="$path/`hostname`-$db-`date +%Y%m%d%H%M%S`.sql"
mysqldump -u$user -p$pass $db > $bakname
if [ ! -f $bakname ];then
echo "备份失败"
else
echo "备份成功,文件路径为$bakname"
fi
}
read -p "输入用户名:"
user=$REPLY
read -p "输入密码:"
pass=$REPLY
check_auth=`mysql -u$user -p$pass -e "show databases;" | grep -v Database`
if [ "$check_auth" = "" ];then
echo "用户名或者密码错误"
exit 0
fi
all_db=`mysql -u$user -p$pass -e "show databases;" | grep -v Database | awk '{print NR"."$1}'`
read -p "输入备份的数据库(默认为全备份):
$all_db
输入(数据库名称):"
db=$REPLY
if [ "$db" != "" ];then
check_db=`mysql -u$user -p$pass -e "show databases;" | grep $db`
if [ "$check_db" = "" ];then
echo "$db数据库不存在"
exit 0
else
echo "备份的数据库:$db"
fi
else
db="--all-database"
echo "备份的数据库:$db"
fi
read -p "输入备份路径(默认为/tmp):"
path=$REPLY
if [ "$path" != "" ];then
if [ ! -d "$path" ];then
echo "$path路径不存在"
exit 0
else
echo "备份路径(默认为/tmp):$path"
fi
else
path="/tmp"
echo "备份路径(默认为/tmp):/tmp"
fi
echo "确定备份信息:
用户名:$user 密码:$pass 数据库:$db 备份路径:$path"
read -p "是否开始备份(输入Y OR N):"
check=$REPLY
if [[ "$check" != "Y" ]] && [[ "$check" != "y" ]] ;then
echo "备份退出。。。"
else
echo "开始备份。。。"
mysqlbackup;
fi