shell脚本系列---自动备份数据库数据
Posted 少年攻城狮灬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
2.若用户没有备份权限,则先授权
grant all on webapp.* to backup@localhost identified by "123456";
以上是关于shell脚本系列---自动备份数据库数据的主要内容,如果未能解决你的问题,请参考以下文章