zoukankan      html  css  js  c++  java
  • 【Shell 脚本】Mysql 定时备份

    参考 使用shell脚本实现定时备份mysql数据库
    本脚本增加了系统判断

    #!/usr/bin/env bash
    #mysql 备份,保留最近10天备份
    
    #备份目录
    backupDir=/Users/yangqi/backup
    
    ############# MySQL config ##############
    host="127.0.0.1"
    user="root"
    pswd="123"
    #要备份的数据库数组
    databases=(vastarai)
    
    #系统 os_name [Linux / Darwin(Mac OS)]
    os_name=`uname -s`
    #今天的日期 Ymd
    today=`date +%Y%m%d`
    #10天前的日期 根据系统区别获取
    if [ "$os_name" == "Linux" ]; then
        timeTenDayAgo=`date +%Y%m%d --date='-10 day'`
    elif [ "$os_name" == "Darwin" ]; then
        timeTenDayAgo=`date -v -10d +%Y%m%d`
    fi
    
    #开始备份
    for database in ${databases[@]}
    do
        echo "开始备份${database}"
        mysqldump -h${host} -u${user} -p${pswd} ${database} | gzip > ${backupDir}/${database}-${today}.sql.gz
        echo "成功备份${database} 到${backupDir}"
        if [ ! -f "${backupDir}/${database}-${timeTenDayAgo}.sql.gz" ]; then
            echo "10天前备份不存在,无需删除"
        else
            rm -f ${backupDir}/${database}-${timeTenDayAgo}.sql.gz
            echo "删除10天前备份 ${database}-${timeTenDayAgo}.sql.gz"
        fi
    done
  • 相关阅读:
    开发中的报错问题
    vue2.0入门
    nodejs的一些基操
    git
    es6模块化规范
    js面向对象的笼统介绍
    this指向问题(改变它的指向)
    js面向对象杂谈
    原生js贪吃蛇
    bootstrap基础自我总结
  • 原文地址:https://www.cnblogs.com/yangqi7/p/8037132.html
Copyright © 2011-2022 走看看