广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 数据库备份脚本
  • 923
分享到

MySQL 数据库备份脚本

MySQL数据库备份脚本 2015-10-18 21:10:53 923人浏览 猪猪侠
摘要

Mysql 数据库备份脚本 #!/bin/bash # 数据库连接信息 DB_HOST="127.0.0.1" DB_PORT="3306" DB_USER="root" DB_PASSWD="root" # 时间格式化,如 20

MySQL 数据库备份脚本

Mysql 数据库备份脚本


#!/bin/bash


# 数据库连接信息
DB_HOST="127.0.0.1"
DB_PORT="3306"
DB_USER="root"
DB_PASSWD="root"

# 时间格式化,如 20211216
DATE="`date +%Y%m%d`"
# 备份文件目录
DIR_BACKUP="${HOME}/data/db-backup"
# 日志目录: ${HOME}/data/db-backup/logs
DIR_LOG="${DIR_BACKUP}/logs"
# 日志文件: ${HOME}/data/db-backup/logs/db_backup.INFO.2021-12-30.log
FILE_LOG="${DIR_LOG}/db_backup.INFO.`date +%F`.log"

# 文件保留天数
DAY=7
DAY_LOG="`expr ${DAY} + 7`"
# 备份数据库名
DATABASES=("db1 db2 db3")


# 测试目录, 目录不存在则自动创建
# test -d ${DIR_LOG} || echo passwd | sudo -S mkdir -p ${DIR_LOG}
test -d ${DIR_LOG} || mkdir -p ${DIR_LOG}
# ------------------- 2021-12-16_17:40:48 Start -------------------
echo -e "
----------------- $(date +%F %T) Start -----------------"
echo -e "
================= $(date +%F %T) Start =================" >> ${FILE_LOG}

    # 遍历数据库名
    for database in ${DATABASES[@]}; do 
        # 打印备份的数据库名
        echo "----------- Current backup database: [ ${database} ] ------------"
        echo "-------------- Backed-up database: [ ${database} ] --------------" >> ${FILE_LOG}
    done
    # 备份指定的数据库
    mysqldump --opt --single-transaction --master-data=2 --default-character-set=utf8 -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASSWD} -B ${DATABASES} | gzip > ${DIR_BACKUP}/mysql_backup_${DATE}.sql.gz


# # 备份全部数据库
# mysqldump --opt --single-transaction --master-data=2 --default-character-set=utf8 -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASSWD} -A | gzip > ${DIR_BACKUP}/mysql_backup_${DATE}.sql.gz

echo "------- Backup file created: [ mysql_backup_${DATE}.sql.gz ]"
echo "------- Backup file created: [ mysql_backup_${DATE}.sql.gz ]" >> ${FILE_LOG}

# ---------------------------------------------------------------------------------
# 至此, 备份已完成, 下面是清理备份的旧文件, 释放磁盘空间


# 方式一:清理旧文件
# 查找 7天前的文件
OLD_BACKUP="`find ${DIR_BACKUP} -type f -mtime +${DAY} -iname mysql-*.gz`"
OLD_LOGS="`find ${DIR_LOG} -type f -mtime +${DAY_LOG} -iname db_backup.INFO.*.log`"

# 遍历旧备份文件
for bak in "${OLD_BACKUP[@]}"; do 
    # 删除旧备份
    rm -f ${bak}
    echo "------------------- Deleted old bak files -------------------" >> ${FILE_LOG}
    echo "${bak}" >> ${FILE_LOG}
done
# 遍历旧日志
for log in "${OLD_LOGS[@]}"; do 
    # 删除旧日志
    rm -f ${log}
    echo "------------------- Deleted old log files -------------------" >> ${FILE_LOG}
    echo "${log}" >> ${FILE_LOG}
done


# 方式二:清理旧文件
# echo "--------------------- Deleted old files ---------------------" >> ${FILE_LOG}
# echo "`find ${DIR_BACKUP} -type f -mtime +${DAY} -iname mysql-*.gz`" >> ${FILE_LOG}
# echo "`find ${DIR_LOG} -type f -mtime +${DAY_LOG} -iname db_backup.INFO.*.log`" >> ${FILE_LOG}
# find ${DIR_BACKUP} -type f -mtime +${DAY} -iname mysql-*.gz -exec rm -f {} ;
# find ${DIR_LOG} -type f -mtime +${DAY_LOG} -iname db_backup.INFO.*.log -exec rm -f {} ;


echo -e "------------------ $(date +%F %T) End ------------------
"
echo -e "================== $(date +%F %T) End ==================
" >> ${FILE_LOG}

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 数据库备份脚本

本文链接: https://www.lsjlt.com/news/9054.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL 数据库备份脚本
    MySQL 数据库备份脚本 #!/bin/bash # 数据库连接信息 DB_HOST="127.0.0.1" DB_PORT="3306" DB_USER="root" DB_PASSWD="root" # 时间格式化,如 20...
    99+
    2015-10-18
    MySQL 数据库备份脚本
  • Shell 脚本备份MySQL数据库
    (1)思路  <1>安装MySQL数据库  <2>创建数据库,表,插入数据   <3>授权一个用于备份数据库的用户名和密码&nbs...
    99+
    2022-10-18
  • MySQL数据库备份Shell脚本
    此脚本将远程主机或者本地主机上的数据库的数据备份到本地。备份MySQL数据库除了information_schema、performance_schema、mysql自带库的其他生产库。备份时将MySQL数...
    99+
    2022-10-18
  • 自动备份mysql数据库脚本
    自动备份mysql数据库脚本#!/bin/sh# NCONF database backup# Script by Chen# add (and adapt) the following line to t...
    99+
    2022-10-18
  • MySQL数据库定时备份脚本
    建议建立备份数据库的用户,本文使用root用户进行备份。 脚本内容如下: vim mysql_back.sh #!/bin/bash #指定连接数据库信息(用户名、密码、连接地址、端口、安装目录)DB...
    99+
    2023-08-31
    数据库 mysql java
  • MySQL数据库全库备份及增量备份脚本
    脚本网盘链接下载。 1、全库备份脚本如下: #!/bin/bash ############### 定义默认值 ################# user='root' passwd='123.com...
    99+
    2022-10-18
  • 数据库脚本备份
    rem *******************************Code Start*****************************@echo offset "Ymd=%date:~,4%%...
    99+
    2022-10-18
  • MySQL备份脚本(包含zabbix数据库)
    需求:按天备份,保留一周,zabbix数据库不备份历史数据MySQL版本:5.7.17脚本:需要提前建立路径 mkdir -pv /opt/mysql_backup/auto_backu...
    99+
    2022-10-18
  • mysql数据库备份与恢复脚本
    #!/bin/bash#mysql database backup and restore the script# define config variablehost=localhostuser=root...
    99+
    2022-10-18
  • python脚本按表备份MySQL数据库
    脚本功能: 1.自动创建备份目录 2.自动备份数据库的每个表,并压缩 3.备份结果,邮件通知联系人 4.脚本内容#!/usr/bin/env  p...
    99+
    2022-10-18
  • mysqldump备份指定mysql数据库脚本
        前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。    实...
    99+
    2022-10-18
  • shell 脚本--备份、还原mysql数据库
    备份mysql数据库#! /bin/bashBPATH=/home/backup/mysql_bakUSER="root"PASSWD="123456"HOST="192.168.1.5"DATE=$(da...
    99+
    2022-10-18
  • 用python备份mysql数据库的脚本
    一、前言             刚刚开始学python,还在看一套简单的python教学视频,但还未看完,简单的写了个mysql备份脚本,也算是第一个python脚本的×××座哈~~,因为才刚刚才开始,对python 的class 、fu...
    99+
    2023-01-31
    脚本 备份 数据库
  • MongoDB 数据库备份脚本
    #!/bin/bash #backup MongoDB #mongodump命令路径 DUMP=/usr/local/mongodb/bin/mongodump#临时备份目录OUT_DIR=/data...
    99+
    2022-10-18
  • PostgreSQL 数据库备份脚本
    PostgreSQL 数据库备份脚本 #!/bin/bash # PG家目录(/opt/postgresql/pg96/) PG_HOME=${PGHOME} # pg数据库连接信息 PG_HOST="127.0.0.1" PG_P...
    99+
    2014-07-22
    PostgreSQL 数据库备份脚本
  • Oracle数据库备份脚本
    物理备份脚本 #!/bin/sh export TMPDIR=$TMP; export ORACLE_SID=orcl; export ORACLE_BASE=/u01...
    99+
    2022-10-18
  • Mysql数据库定时备份脚本分享
    BackUpMysql.sh脚本 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH...
    99+
    2022-05-31
    MySQL 定时备份 MySQL 定时备份脚本
  • centos中mysql备份数据库脚本分享
    #!/bin/bash#backup mysql data DBDIR=/data/mysqlBACKDIR=/data/bak/mysqlTIME=`date -d "today" +%F`DB=$(l...
    99+
    2022-06-04
    脚本 备份 数据库
  • mysql数据库自动备份脚本分享
    前几篇博客已经相继公开了去转盘网的所有技术细节,如下:百度网盘爬虫中文分词算法邀请好友注册js分页部分代码这篇博客我将继续公开数据库自动备份的代码。可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切...
    99+
    2022-10-18
  • 备份MySQL数据库的Bash脚本分享
    这篇文章主要讲解了“备份MySQL数据库的Bash脚本分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“备份MySQL数据库的Bash脚本分享”吧!  #!...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作