脚本备份mysql数据库

#!/bin/bash
#配置定时任务
#crontab -e
#设置每周日的下午7点执行
#00 19 * * 7 sh /home/back_up_mysql/back_up_mysql.sh

baseDir=/home/back_up_mysql
#获取年月
Last_Ymonth=date -d last-month +%Y%m
Ymonth=date +%Y%m
#获取月日 并转为整数用于比较大小
Day=date +%Y%m%d

function S_backup_mysql() {
  cd ${baseDir}
  rm -f $1_bak_${Day}.sql
  echo “开始备份数据库…”
  mysqldump --defaults-extra-file=/etc/my.cnf -h服务器IP -u用户名 -p密码 $1 >   ${baseDir}/$1bak${Day}.sql
  fn_log “备份$1bak${Day}.sql” $1
}

function fn_log() {
  if [ $? -eq 0 ]
  then
    echo “$1 successful.”
  del_back_up $2
  else
    echo “$1 failed.”
    echo “$1 失败.” | mail -s “$1备份执行失败” 邮箱地址(***@qq.com)
   fi
}

function del_back_up() {
#删除上个月的数据备份sql
  cd ${baseDir}
  rm -f $1*${Last_Ymonth}sql
  del_back_log "删除$1
${Last_Ymonth}*sql"
}

function del_back_log() {
  if [ $? -eq 0 ]
  then
    echo “$@ successful.”
  else
    echo “$@ failed.”
  fi
}

S_backup_mysql 库名
S_backup_mysql 数据库名

#密码明文写在mysqldump之后会报错无法正常导出
#添加参数–defaults-extra-file=/etc/my.cnf 报错但可正常导出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值