Linux系统的ECS实例中如何对MySQL进行自动备份

Linux系统的ECS实例中如何对MySQL进行自动备份

贡献者:

KB小秘书

 · 

更新时间:2019-08-05 15:27:11

提示: 这是一篇由阿里云ACE开发者(Alibaba Cloud Engineer)贡献,针对特定用户问题发布的文章。文档的内容以原稿呈现,阿里云对于文档内容不做任何形式的承诺。阿里云有权在未经通知的情形下对文档内容做出任何形式的修改。

概述

本文主要介绍Linux系统的ECS实例中如何对MySQL进行自动备份。

 

详细信息

Linux系统的ECS实例中搭建了MySQL服务,用户可以使用如下脚本实现MySQL的定期自动备份。

  1. 将以下脚本拷贝到本地,上传到服务器上,名称叫 “autoback.sh”。
    #!/bin/bash
    #-----------------------------------------------#
    #This is a  free GNU GPL version 3.0 or abover
    #Copyright (C) 2008 06 05
    #mysql_backup Dedicated copyright by My
    #-----------------------------------------------#
    echo -e [`date +"%Y-%m-%d %H:%M:%S"`] start
    #system time
    time=`date +"%y-%m-%d"`
    #host IP
    host="127.0.0.1"
    #database backup user
    user="root"
    #database password
    passwd="yourpasswd"
    #Create a backup directory
    mkdir -p /backup/db/"$time"
    #list database name
    all_database=`/usr/bin/mysql -u$user -p$passwd -Bse 'show databases'`
    #in the table from the database backup
    for i in $all_database
    do
    /usr/bin/mysqldump -u$user -p$passwd $i > /backup/db/"$time"/"$i"_"$time".sql
    done
    echo -e [`date +"%Y-%m-%d %H:%M:%S"`]  end
    exit 0
    注:脚本中的数据库名和数据库密码以用户需要备份的数据库信息为准,需要用户修改下。
  2. 运行crontab -e,写入以下内容。保存退出,之后每天早上5:30就会自动备份数据库了。
    30 5 * * * root sh /root/autobackup.sh >/dev/null 2>&1
    注意:备份会占用磁盘空间,及时清理不需要的数据或者扩展磁盘空间。 

 

适用于

  • 云服务器 ECS
  • 87

    发布KB

  • 596

    回答问题

  • 4

    粉丝数