zoukankan      html  css  js  c++  java
  • mysql备份脚本-mysqldump

    背景:全库备份

    备份流程:

      1.生成DB列表,将DB名字写入文件

      2.定义备份函数,结果写入SQL文件

      3.压缩文件,减少磁盘占用量

      4.设置保留天数,定期删除n天之前的

      5.通过for循环读取DB列表文件,依次进行mysqldump

     1 #!/bin/bash
     2 
     3 PORT='5001'
     4 PASSWD='admin'
     5 SOCKED="/data/socket/mysql${PORT}.sock"
     6 BACKUP_FILE='/data/mysqlData/backup'
     7 BACKUP_SAVE_DAYS='2'
     8 
     9 CMD1='show databases;'
    10 Time=`date +%Y%m%d_%H%M%S`
    11 EVERY_DAY_BACKUP_DIR="${BACKUP_FILE}/${Time}_backup"
    12 DB_LIST="${EVERY_DAY_BACKUP_DIR}/db_list.txt"
    13 
    14 # function : check_db ===> db_list.txt
    15 check_db()
    16 {
    17     mkdir -pv ${EVERY_DAY_BACKUP_DIR} >>/dev/null
    18     touch ${DB_LIST} && chmod 755 ${DB_LIST} && chown -R mysql.mysql ${DB_LIST}
    19     /usr/local/mysql/bin/mysql -uadmin -p${PASSWD} -S ${SOCKED} -NBe"${CMD1}"|grep -v 'information_schema|performance_schema|mysql'>${DB_LIST}
    20 
    21 }
    22 
    23 # function : backup_db ===>xx.sql
    24 backup_db()
    25 {
    26     /usr/local/mysql/bin/mysqldump -uadmin -p${PASSWD} -S ${SOCKED} $1 >> ${EVERY_DAY_BACKUP_DIR}/$1.sql
    27 }
    28 
    29 # function : tar_file ===>xx.tar.gz
    30 tar_file()
    31 {
    32     cd ${BACKUP_FILE} 
    33     tar -cf `date +%Y%m%d_%H%M%S`.tar.gz ${Time}_backup
    34     rm -fr ${Time}_backup
    35 }
    36 
    37 # function : delete xx.tar.gz : <before n days>
    38 delete_file()
    39 {
    40     cd ${BACKUP_FILE}
    41     /usr/bin/find -name "*.tar.gz" -mtime +${BACKUP_SAVE_DAYS} -exec rm {} ;
    42 }
    43 
    44 # main_process
    45 # 1
    46 check_db
    47 
    48 # 2
    49 cat ${DB_LIST}| while read line
    50 do 
    51     oldIFS=${IFS}
    52     backup_db ${line}
    53     IFS=${oldIFS}
    54     sleep 20
    55 done
    56 
    57 # 3 
    58 tar_file
    59 
    60 # 4 delete xx.tar.gz : before n days
    61 
    62 delete_file ${BACKUP_SAVE_DAYS}
  • 相关阅读:
    .net core 灵活读取配置文件
    SUSE12SP3-Mysql5.7安装
    SUSE12Sp3-MongoDB安装
    SUSE12Sp3-Supervisor 守护.net core进程
    SUSE12Sp3-Nginx安装
    SUSE12Sp3-.NET Core 2.2.1 runtime安装
    搭建consul 集群
    SUSE12Sp3安装配置.net core 生产环境(1)-IP,DNS,网关,SSH,GIT
    使用Consul 实现 MagicOnion(GRpc) 服务注册和发现
    使用MagicOnion实现gRPC
  • 原文地址:https://www.cnblogs.com/cuisi/p/7300463.html
Copyright © 2011-2022 走看看