zoukankan      html  css  js  c++  java
  • mysql数据库备份

    需求

    需要对mysql数据库,每天定时备份

    方法

    主要方式是:利用crontab工具执行shell脚本,shell脚本中编写备份命令。

    如果没有crontab,就先安装crontab。

    安装crontab

    1、Crontab是什么?

    “任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。通俗的讲就是定时执行某个脚本、程序。

    常用于:定时关机、定时检查更新、定时对系统配置、数据库、日志进行备份、定时清理垃圾文件

    2、检测是否已安装

    crontab --help

    3、具体安装请参考1

    编写脚本

    1、创建备份目录

    mkdir DB-mysql
    

    2、脚本模板

    #!/bin/sh
    
    # Database info
    DB_USER="batsing"
    DB_PASS="batsingpw"
    DB_HOST="localhost"
    DB_NAME="timepusher"
    
    # Others vars
    BIN_DIR="/usr/bin"            #the mysql bin path
    BCK_DIR="/mnt/mysqlBackup"    #the backup file directory
    DATE=`date +%F`
    
    # TODO
    # /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql
    $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
    
    #还原数据库
    #用mysql-front导入前一天的 *.sql 文件即可恢复数据
    

    开放权限:

    chmod 777 sqlAutoBak.sh

    设置计划

    1、执行命令

    crontab -e
    

    2、添加计划

    */1 * * * * /usr/local/include/wx-code/sqlAutoBak.sh
    

      意思是:每一分钟执行一次shell脚本

    30 3 * * * /usr/local/include/wx-code/sqlAutoBak.sh
    

      意思是:每天凌晨三点半执行一次shell脚本

    更多时间格式:

    # 例如:db_2021-08-01.sql.zip
    #DATE=`date +%F`
    # 例如:db_20210801_161156.sql.zip
    #DATE=`date +%Y%m%d_%H%M%S`
    # 例如:db_2021-08-01 16:17:37.sql.zip
    DATE=`date "+%F %T"`

    参考

    1、CentOS下使用yum命令安装计划任务程序crontab的方法

    2、linux实现mysql数据库每天自动备份定时备份

    3、shell脚本每天自动备份mysql数据库

    4、Linux crontab 命令

    5、linux:基本指令

    作者: Pam

    出处: https://www.cnblogs.com/pam-sh/>

    关于作者:网安在读

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(mir_soh@163.com)咨询.

  • 相关阅读:
    地狱少女....
    火影忍者 是时候结束了
    1942
    待查
    什么是傻瓜
    公车艳遇
    初一
    继承
    第四周学习笔记
    查找里程————mooc《面向对象程序设计——Java语言》-(浙大翁凯)第三周编程题
  • 原文地址:https://www.cnblogs.com/pam-sh/p/15086936.html
Copyright © 2011-2022 走看看