测试服mysql数据库备份脚本

1.需要备份的数据库服务器信息

地址:192.168.2.247

用户名:root

密码:xxxx

2.查看存储备份数据服务器磁盘空间使用情况

df -h

3.选择磁盘空间最大的一个用于备份

/home目录

3.在/home目录创建备份目录

cd /home/

mkdir backup

ls

4.创建bkdb.sh文件

touch bkdb.sh

5.编辑bkdb.sh文件

#!/bin/bash

## 需要备份数据库服务信息

# xxx数据库

FROM_DB_NAME1="xx_test"

FROM_DB_NAME2="xx_test"

FROM_DB_NAME3="xx_test"

FROM_DB_NAME4="xx_test"

FROM_DB_USER="root"

FROM_DB_PASS=xx


## 存储备份数据的服务器信息

TARGET_BACKUP_DIR="/home/backup"


# 判断备份路径是否存在,不存在则创建该路径

if [ ! -d $BACKUP_DIR ];then

        mkdir -p "$BACKUP_DIR"

fi


# 进入备份目录

cd "$TARGET_BACKUP_DIR"


# 文件名

DUMPFILE1="$FROM_DB_NAME1-$(date +%Y%m%d_%H%M%S).sql.gz"

DUMPFILE2="$FROM_DB_NAME2-$(date +%Y%m%d_%H%M%S).sql.gz"

DUMPFILE3="$FROM_DB_NAME3-$(date +%Y%m%d_%H%M%S).sql.gz"

DUMPFILE4="$FROM_DB_NAME4-$(date +%Y%m%d_%H%M%S).sql.gz"


# 备份xx数据库

mysqldump -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME1 | gzip > $DUMPFILE1

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME1 backup success"

else

        echo "$FROM_DB_NAME1 backup fail!"

fi


# xx数据库

mysqldump -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME4 | gzip > $DUMPFILE4

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME4 backup success"

else

        echo "$FROM_DB_NAME4 backup fail!"

fi


# xx数据库

mysqldump -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME2 | gzip > $DUMPFILE2

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME2 backup success"

else

        echo "$FROM_DB_NAME2 backup fail!"

fi


# xx数据库

mysqldump -u$FROM_DB_USER -p$FROM_DB_PASS $FROM_DB_NAME3 | gzip > $DUMPFILE3

if [[ $? == 0 ]];then

        echo "$FROM_DB_NAME3 backup success"

else

        echo "$FROM_DB_NAME3 backup fail!"

fi


# 删除7天前的数据

do_delete()

{

        # 查看超过7天的数据

        DELFILES=`find $TARGET_BACKUP_DIR -mtime +7 -type f -exec ls {} \;`

        # 查看超过2分钟的数据

        #DELFILES=`find $TARGET_BACKUP_DIR -mmin +2 -type f -exec ls {} \;`

        for delfile in ${DELFILES}

        do

                rm -rf $delfile

                echo "delete success"

        done

}

do_delete

6.添加可执行权限

chmod u+x bkdb.sh

7.crontab 定时执行脚本

# 编辑crontab文件

vi /etc/crontab

# 添加如下命令,说明:每天1时0分进行数据库备份操作

00 01 * * * root /home/backup/bkdb.sh

# crontab服务状态控制可以通过如下命令进行查看和操作

/sbin/service crond start //启动服务 

/sbin/service crond stop //关闭服务 

/sbin/service crond restart //重启服务 

/sbin/service crond reload //重新载入配置 

/sbin/service crond status //查看状态

 service crond start 

service crond stop 

service crond restart 

service crond reload 

service crond status


上一篇:对于Cron简单的认识


下一篇:如何利用crond+shell进行定时任务?