shell脚本系列---自动备份数据库数据

缥帙各舒散,前后互相逾。这篇文章主要讲述shell脚本系列---自动备份数据库数据相关的知识,希望能为你提供帮助。
1.使用if语句,手写自动备份数据库数据脚本。(粘贴的时候把”//“后面的内容去掉)

vi mysql_back.sh

#!/bin/sh
#auto backup mysql
#wugk 2012-12-12
#Define PATH 定义变量
BAKDIR=/data/backup/mysql/`date +%Y-%m-%d`//备份到哪里,目标目录位置
MYSQLDB=webapp//修改数据库名称为你要备份的库名
MYSQLPW=123456//用户密码
MYSQLUSR=backup//用户名
MYSQLCMD=/usr/bin/mysqldump
MYSQLDOCKERID=b3a852194e9c

#must use root user run scripts 必须使用 root 用户运行,$UID 为系统变量
if [ $UID -ne 0 ]; then
echo This script must use the root user ! ! !
sleep 2
exit 0
fi
#Define DIR and mkdir DIR 判断目录是否存在,不存在则新建
if [ ! -d $BAKDIR ]; then
mkdir -p $BAKDIR
else
echo This is $BAKDIR exists....
fi
#Use mysqldump backup mysql 使用 mysqldump 备份数据库
#注掉的命令适用于安装在物理机中的mysql
# $MYSQLCMD -u$MYSQLUSR -p$MYSQLPW -d $MYSQLDB > $BAKDIR/$MYSQLDB.sql
docker exec -i $MYSQLDOCKERID $MYSQLCMD -u$MYSQLUSR -p$MYSQLPW -d $MYSQLDB > $BAKDIR/$MYSQLDB.sql

if [ $? -eq 0 ]; then
echo "The mysql backup successfully"
else
echo "The mysql backup failed"
fi

 
【shell脚本系列---自动备份数据库数据】2.若用户没有备份权限,则先授权
grant all on webapp.* to backup@localhost identified by "123456";


 

    推荐阅读