标王 热搜:
 
当前位置: 首页 » 系统运维 » 操作系统 » 正文

用于MySQL数据库备份的简单bash脚本的介绍

放大字体  缩小字体 发布日期:2019-04-27  来源:TIJOX2  作者:xinb2b.cn  浏览次数:75
核心提示:如何实现MySQL数据库备份?可以使用用于MySQL数据库备份的bash脚本。在本篇文章中,我们将介绍一个简单的bash脚本用于备份MySQL


如何实现MySQL数据库备份?可以使用用于MySQL数据库备份的bash脚本。在本篇文章中,我们将介绍一个简单的bash脚本用于备份MySQL数据库,将备份归档并存储在本地系统上。此bash脚本还将从磁盘中删除旧备份以释放空间。还可以指定在本地磁盘上保留备份的天数。

创建MySQL备份脚本

现在,将以下内容复制到脚本文件中(如/backup/mysql backup.sh),并保存在Linux系统上。之后,根据你的环境在脚本的“Update below values”部分中更改一些配置值

#!/bin/bash
 
################################################################
##
##   MySQL Database Backup script 
##   Written By: Rahul Kumar
##   URL: https://tecadmin.net/bash-script-mysql-database-backup/
##   Last Update: Jan 05, 2019
##
################################################################
 
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`
 
################################################################
################## Update below values  ########################
 
DB_BACKUP_PATH='/backup/dbbackup'
MYSQL_HOST='localhost'
MYSQL_PORT='3306'
MYSQL_USER='root'
MYSQL_PASSWORD='mysecret'
DATAbase_NAME='mydb'
BACKUP_RETAIN_DAYS=30   ## Number of days to keep local backup copy
 
#################################################################
 
mkdir -p ${DB_BACKUP_PATH}/${TODAY}
echo "Backup started for database - ${DATAbase_NAME}"
 
 
mysqldump -h ${MYSQL_HOST} 
   -P ${MYSQL_PORT} 
   -u ${MYSQL_USER} 
   -p${MYSQL_PASSWORD} 
   ${DATAbase_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATAbase_NAME}-${TODAY}.sql.gz
 
if [ $? -eq 0 ]; then
  echo "Database backup successfully completed"
else
  echo "Error found during backup"
fi
 
 
##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####
 
DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`
 
if [ ! -z ${DB_BACKUP_PATH} ]; then
      cd ${DB_BACKUP_PATH}
      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
            rm -rf ${DBDELDATE}
      fi
fi
 
### End of script ####

创建或下载脚本后,请确保设置执行权限才能正常运行。

$ chmod + x /backup/mysql-backup.sh

在Crontab中安排脚本

现在,在crontab中安排脚本每天运行并定期完成备份。使用crontab -e命令在系统上编辑crontab 。添加以下设置以在早上2点启用备份。

在crontab中调度脚本

现在在crontab中安排脚本每天运行,并定期完成备份。使用crontab-e命令在系统上编辑crontab。添加以下设置以在早上2点启用备份。

0 2 * * * root /backup/mysql-backup.sh

保存你的crontab文件。启用cron后,脚本将自动进行备份,但请需要每周或每月检查以确保已经备份。

TIJOX2

 
关键词: 脚本
 
[ 系统运维搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]
 
推荐图文
如何在shell脚本中使用逻辑或&和 在bash shell脚本中使用for循环
如何在Linux上为用户设置Http代理 如何在Linux上创建,列出和删除Docker容器
推荐系统运维
点击排行
 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅