美文网首页
常用脚本

常用脚本

作者: Lnstark | 来源:发表于2023-01-09 12:00 被阅读0次

    一、mysql备份

    备份shell脚本

    # 文件夹
    bakFolder=备份根目录
    # 数据库
    dbName=数据库名称
    # 连接配置
    mysqlConnectConf=连接配置文件
    # 需要排除的表
    exclusiveTables=(
    表1
    表2
    )
    
    
    
    inArr () {
      for e in ${exclusiveTables[@]}; do
        if [[ $e == $1 ]]; then
          return 1
        fi
      done
      return 0
    }
    
    
    # 取出所有的表
    tables=$(mysql --defaults-extra-file=$mysqlConnectConf -e "SHOW TABLES")
    
    dateFolder=$bakFolder/`date +%Y%m%d`
    mkdir $dateFolder
    cd $dateFolder
    i=0
    for t in $tables; do
      inArr "$t"
      ret=$?
      # 跳过第一个
      if [[ $i -eq 0 ]] || [ $ret -eq 1 ]; then
        echo "跳过 $t"
      else
        # 备份
        # echo "备份表[$t]..."
        dumpCmd="mysqldump --defaults-extra-file=$mysqlConnectConf $dbName --tables $t > $t.sql"
        echo $dumpCmd
        eval $dumpCmd
      fi
      (( i++ ))
    done
    
    echo "备份完成,存于目录[$dateFolder]"
    # 删除1个月之前的备份
    rm -f $bakFolder/*.`date -d "-2 month" +%Y%m`*
    
    

    数据库连接配置文件

    [client]
    user=账号
    password=密码
    host=数据库ip或域名
    port=端口
    
    [mysql]
    database=数据库名
    

    把备份脚本放到 /etc/cron.daily 下,就会每天自动执行。

    相关文章

      网友评论

          本文标题:常用脚本

          本文链接:https://www.haomeiwen.com/subject/blducdtx.html