zoukankan      html  css  js  c++  java
  • Centos7 mysql数据库定时备份脚本

    1.自行创建备份及日志文件夹。

    2.安装压缩工具bzip2。

    yum -y install bzip2

    3.使用vim(vi)命令创建备份脚本 backup.sh ,写入如下内容。

    #!/bin/bash
    #功能说明:本功能用于备份mysql数据库
    #编写日期:2018/05/17 此处不用修改 mysql安装后基本都在以下文件夹
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin
    export PATH
    #数据库用户名
    dbuser='======='
    #数据库密码
    dbpasswd='========'
    #数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
    dbname='megagame'
    #备份时间
    backtime=`date +%Y%m%d%H%M%S`
    #日志备份路径 此处指向你创建的文件夹
    logpath='/root/data/mysqlbck/logs'
    #数据备份路径 此处指向你创建的文件夹
    datapath='/root/data/mysqlbck/data'
    #日志记录头部
    echo ‘”备份时间为${backtime},备份数据库表 ${dbname} 开始” >> ${logpath}/mysqllog.log
    #正式备份数据库
    for table in $dbname;
    do
    source=`mysqldump  -u${dbuser} -p${dbpasswd} --single-transaction ${table}> ${datapath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
    #备份成功以下操作
    if [ "$?" == 0 ];then
    cd $datapath
    #为节约硬盘空间,将数据库压缩
    tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
    #删除原始文件,只留压缩后文件
    rm -f ${datapath}/${backtime}.sql
    #删除30天前备份
    find $datapath -name "*.tar.bz2" -type f -mtime +90 -exec rm -rf {} ; > /dev/null 2>&1
    echo “数据库表 ${dbname} 备份成功!!” >> ${logpath}/mysqllog.log
    else
    #备份失败则进行以下操作
    echo “数据库表 ${dbname} 备份失败!!” >> ${logpath}/mysqllog.log
    fi
    done

    4.安装定时任务包。

    yum install vixie-cron
    yum install crontabs

    5.创建定时调度任务。

    crontab -e

    6.写入如下内容(这里的表达式代表每天 00:00 执行)。

    00 00 * * * /脚本文件路径/backup.sh

    6.5测试用这个(10秒执行一次)。

    * * * * * sleep 10; /脚本路径/backup.sh

    7.重启定时调度任务和刷新配置。

    systemctl restart crond.service
    systemctl reload crond.service

    8.查看状态。

    crontab -l
  • 相关阅读:
    C语言提供的位运算符
    JAVA反射改动常量,以及其局限
    直击中关村创业大街,新街头霸王来了
    bind() to 0.0.0.0:80 failed (98: Address already in use)
    Eclipse 快捷方式 指定 固定 workspace
    C++对象模型——Inline Functions(第四章)
    eclipse中安装freemarker插件及ftl使用freemarker编辑器
    迷茫了好一阵决定做WEB前端
    ios代理的使用,正向传值,逆向传值
    easyUI Tab href,content差别
  • 原文地址:https://www.cnblogs.com/wangshilei/p/13460037.html
Copyright © 2011-2022 走看看