美文网首页
[linux] MySql 定时备份数据库

[linux] MySql 定时备份数据库

作者: 卓灬不凡 | 来源:发表于2019-11-15 11:00 被阅读0次
    • 创建备份目录、编写脚本文件

    mkdir /opt/Mysql_Bak/
    vim /opt/Mysql_Bak/mysql_bak.sh

    • 脚本文件内容
    #!/bin/sh
    ########文件名称为当天时间#############
    time=`date '+%Y-%m-%d %H:%M:%S'`
    echo $time
    echo '开始备份数据库..'
    ###################数据库配置信息#######################
    user=数据库帐号
    passwd=数据库密码
    dbname=需要备份的数据库名称
    mysql_back_path=/opt/Mysql_Bak/
    ###################数据库备份信息#######################
    /usr/local/mysql/bin/mysqldump -h127.0.0.1 -u$user -p$passwd $dbname | gzip > $mysql_back_path/$time.sql.gz
    echo '数据库备份完成'
    
    #删除当前日期-8的备份
    oldDate=`date --date='8 day ago' +%Y-%m-%d`;
    rm -rf $oldDate*;
    echo "删除$oldDate的备份成功"
    
    • 脚本授权

    chmod u+x /opt/Mysql_Bak/mysql_bak.sh

    • 加入定时任务

    // 打开crontab编辑模式,添加一行配置(每天凌晨一点执行)
    crontab -e

    SHELL=/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/Mysql_Bak
    0 1 * * * /opt/Mysql_Bak/mysql_bak.sh > /opt/Mysql_Bak/mysql_bak.out 2>&1

    // 查看是否加入成功
    crontab -l

    // 重新加载配置
    /bin/systemctl reload crond.service

    相关文章

      网友评论

          本文标题:[linux] MySql 定时备份数据库

          本文链接:https://www.haomeiwen.com/subject/fumjictx.html