zoukankan      html  css  js  c++  java
  • CentOS定时备份MySQL数据库

    1、编写备份脚本
    vi /usr/sbin/mysql_dy_backup.sh
    #!/bin/bash
    #备份路径
    BACKUP=/data/backup/sql/dy
    #当前时间
    DATETIME=$(date +%Y-%m-%d_%H%M%S)
    echo "===备份开始==="
    echo "备份文件存放于${BACKUP}/$DATETIME.tar.gz"
    #数据库地址
    HOST=localhost
    #数据库用户名
    DB_USER=root
    #数据库密码
    DB_PW=Ces123456
    #创建备份目录
    [ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
     
    #后台系统数据库
    DATABASE=dy_backgroundms
    mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
     
    #投入品监管数据库
    DATABASE=dy_firip
    mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz
     
    #压缩成tar.gz包
    cd $BACKUP
    tar -zcvf $DATETIME.tar.gz $DATETIME
    #删除备份目录
    rm -rf ${BACKUP}/$DATETIME
     
    #删除10天前备份的数据
    find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} ;
    echo "===备份成功==="
     
    注:find:linux的查找命令,用户查找指定条件的文件
    -mtime:标准语句写法
    +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
    "*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三
    -exec:固定写法
    rm -rf:强制删除文件,包括目录
    {} ; :固定写法,一对大括号+空格+
     
    2、更改备份脚本权限
    chmod u+x /usr/sbin/mysql_dy_backup.sh
     
    3、设置定时执行脚本任务
    crontab -e
    #每天17:30执行
    30 17 * * * /usr/sbin/mysql_dy_backup.sh
     ————————————————————————————————————————————————————————————————————————
     

    copy时候按a

     可以通过以下命令查看任务日志:

    tail -f /var/log/cron

    q:退出
    wq:修改后保存退出
    q!:强制退出,不保存修改的内容

  • 相关阅读:
    Java 快速入门-06-JDK 目录文件说明
    Java快速入门-05-数组循环条件 实例《延禧攻略》
    腾讯云服务器 选购+远程控制 图文教程
    无法获得锁 /var/lib/dpkg/lock
    Ubuntu 安装 PhpMyAdmin 图文教程
    基于Redis的BloomFilter算法去重
    CAP理论
    Linux常用命令回顾
    基于Solr实现HBase的二级索引
    Solr搜索服务架构图
  • 原文地址:https://www.cnblogs.com/emily1130/p/7345842.html
Copyright © 2011-2022 走看看