mysql备份数据库shell脚本_MySQL备份数据库shell脚本

以下为MySQL备份数据库的sh脚本:#!/bin/bash

# Shell script to backup MySQL database

# 设置数据库连接变量

MyUSER=""# DB_USERNAME

MyPASS=""# DB_PASSWORD

MyHOST=""# DB_HOSTNAME

# 备份数据的目标目录

DEST="" # /home/username/backups/DB

# 邮件通知

EMAIL=""

# 设置多少天之后的旧文件会被删除

DAYS=3

# Linux bin执行文件路径

MYSQL="$(which mysql)"

MYSQLDUMP="$(which mysqldump)"

GZIP="$(which gzip)"

# 获取当前日期dd-mm-yyyy format

NOW="$(date +"%d-%m-%Y_%s")"

# 新建备份子目录

MBD="$DEST/$NOW/mysql"

install -d $MBD

# 忽略备份的数据库列表

SKIP="information_schema

another_one_db"

# 获取所有数据库列表

DBS="$($MYSQL -h $MyHOST -u $MyUSER -p$MyPASS -Bse 'show databases')"

# 归档数据库dump

for db in $DBS

do

skipdb=-1

if [ "$SKIP" != "" ];

then

for i in $SKIP

do

[ "$db" == "$i" ] && skipdb=1 || :

done

fi

if [ "$skipdb" == "-1" ] ; then

FILE="$MBD/$db.sql"

$MYSQLDUMP -h $MyHOST -u $MyUSER -p$MyPASS $db > $FILE

fi

done

# 归档目录,发送邮件通知,清除

cd $DEST

tar -cf $NOW.tar $NOW

$GZIP -9 $NOW.tar

echo "MySQL backup is completed! Backup name is $NOW.tar.gz" | mail -s "MySQL backup" $EMAIL

rm -rf $NOW

# 删除旧文件

find $DEST -mtime +$DAYS -exec rm -f {} \;

源脚本:https://gist.github.com/NARKOZ/642511

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值