一个80后
程序员的笔记

数据库备份

#!/bin/bash
#50 12,23 * * * sh /data/sh/mysql.sh >> log.txt 2>>log.txt
# mysql数据库信息
mysql_user="数据库用户名"
mysql_password="数据库用户密码"
mysql_host="数据库地址"
mysql_dbname="数据库名"
mysql_port="3306"
mysql_charset="utf8mb4"

# 备份文件地址
backup_location=.

# 是否删除过期数据
expire_backup_delete="ON"
expire_days=7
backup_time=`date +%Y%m%d%H%M`
backup_dir=$backup_location
welcome_msg="欢迎使用MySQL备份工具"
version=`grep -Po 'version[" :]+\K[^"]+' ../../src/version.json`
backup_file=$backup_dir/$backup_time-$version
# 判断mysql实例是否正常运行 如果本机安装可以开启
# mysql_ps=`ps -ef |grep mysql |wc -l`
# mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l`
# if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then
#         echo "ERROR:MySQL is not running! backup stop!"
#         exit
# else
#         echo $welcome_msg
# fi

# 备份指定数据库中数据(此处假设数据库是mysql_backup_test)
mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -B $mysql_dbname > $backup_file.sql
flag=`echo $?`
if [ $flag == "0" ];then
       tar zcf $backup_file.tar.gz $backup_file.sql
       rm -rf $backup_file.sql
       echo "$backup_file.tar.gz 备份成功"
else
       echo "$mysql_dbname数据库备份失败"
fi

# 删除过期数据
# if [ "$expire_backup_delete" == "ON" -a  "$backup_location" != "" ];then
#         `find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`
#         echo "清理文件成功!"
# fi
赞(0) 打赏
未经允许不得转载:笨笨天地 » 数据库备份
分享到: 更多 (0)

相关推荐

  • 暂无文章

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏