• 使用shell脚本定时执行备份mysql数据库


    使用shell脚本定时执行备份mysql数据库

     1 #!/bin/bash
     2 
     3 ############### common file ################
     4 
     5 #本机备份文件存放目录
     7 MYSQLBACK_DIR="/data/backup/bak_mysql"
     9 
    10 #格式化日期,备份文件时用日期来做文件名的
    11 DATE=`date +%Y%m%d-%H%M%S`
    12 #保存日期
    13 DAYS=15
    14 ######## mysql info ############################
    15 
    16 # Database info
    17 DB_HOST="127.0.0.1"
    18 DB_PORT="3306"
    19 DB_NAME="database_name"
    20 DB_USER="database_user"
    21 DB_PASS="database_pwd"
    22 
    23 # 根据实际情况而定
    24 BIN_DIR="/usr/local/mysql/bin"
    25 
    26 # 备份文件前缀
    27 WEBSITE_PREFIX=MySQL28 
    29 # framework
    30 ${BIN_DIR}/mysqldump --skip-extended-insert --skip-lock-tables --set-gtid-purged=OFF --triggers --routines --events -d --databases -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} > ${MYSQLBACK_DIR}/db_framework${DATE}.sql
    31 # data
    32 ${BIN_DIR}/mysqldump --skip-extended-insert --skip-lock-tables --set-gtid-purged=OFF --triggers --routines --events -t --databases -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} > ${MYSQLBACK_DIR}/db_data${DATE}.sql
    33 #all
    34 ${BIN_DIR}/mysqldump --skip-extended-insert --skip-lock-tables --set-gtid-purged=OFF --triggers --routines --events --databases -h${DB_HOST} -u${DB_USER} -p${DB_PASS} ${DB_NAME} > ${MYSQLBACK_DIR}/db_all${DATE}.sql
    35 
    36 # auto delete pass file
    37 find ${MYSQLBACK_DIR} -name "db_*" -type f -mtime +${DAYS} -exec rm {} ;

     # linux定时执行python文件

    
    

     # crontab -e 添加如下信息:

     0 3 * * * /root/mysql.sh > /dev/null 2>&1

     

  • 相关阅读:
    Vue2 后台管理系统解决方案
    vuejs 和 element 搭建的一个后台管理界面
    Composer 是什么
    解决无限 This file is indented with tabs instead of 4 spaces
    (七)boost库之单例类
    (六)boost库之内存管理shared_ptr
    (五)boost库之随机数random
    (四)boost库之正则表达式regex
    (二)boost库之字符串格式化
    (一)boost库之日期、时间
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/9849542.html
Copyright © 2020-2023  润新知