shell小技巧(六十)MySQL备份实例脚本

要求:
1.按时备份MySQL指定数据库。
2.将备份数据恢复到指定MySQL实例备用
3.将备份数据文件压缩,源文件删除
4.删除超过10日以上的备份文件(压缩后的)

代码:

#!/bin/sh

#-----start

dbuser="bitchicken"

dpwd="12345678"

dbname="chickens"

dbhost="rr-uf6ccxa6393236y3u.mysql.rds.aliyuncs.com"

backupdir="/newdisk2" #备份数据文件存放目录

time="$(date +"%d-%m-%y-%H")" #获得日期时间字符串,精确到小时

weekday=`date +%w`

MYSQLDUMP="/usr/bin/mysqldump" #备份命令,全路径

GZIP="/bin/gzip" #压缩命令,全路径

$MYSQLDUMP -h$dbhost -u$dbuser -p$dpwd  $dbname > "$backupdir/$time.$dbname"

#--------end

find /newdisk2/chickens -type f -mtime +10 -delete #删除存在超过10天的文件,注意执行路径是备份文件存放目录

#Monday to Friday

if [ $weekday -ge 1 ] && [ $weekday -le 5 ];

then    

  mysql -uallenle -p1qaz2wsx chickes_report < "$backupdir/$time.$dbname"

fi

#$Saturday

if [ $weekday -eq 6 ];

then

  mysql -uallenle -p1qaz2wsx chickens0616 < "$backupdir/$time.$dbname"

fi

#Sunday

if [ $weekday -eq 0 ];

then    

  mysql -uallenle -p1qaz2wsx chickens0617 < "$backupdir/$time.$dbname"
fi
#实战中因为数据库命名不是全部都有规则,因此使用了多个if来实现恢复数据到指定数据库
GZIP  "$backupdir/$time.$dbname" #压缩,如果要分卷压缩,可以使用rar或者zip,这需要单独安装对应软件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值