MySql DUMP 自动备份数据库 Shell 脚本

简介: MySql DUMP 自动备份数据库 Shell 脚本

@[toc]

MySql DUMP 自动备份数据库 Shell 脚本


MySql DUMP 自动备份数据库 Shell 脚本
MySql DUMP 自动备份数据库 Shell 脚本
MySql DUMP 自动备份数据库 Shell 脚本

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH

# 参数定义
# -----------------------------------------------------------------

# 数据库地址
dbip='请输入'
# 数据库用户名
dbuser='请输入'
# 数据库用密码
dbpasswd='请输入'
# 需要备份的数据库,多个数据库用空格分开
dbname="请输入"
# 备份时间
backtime=$(date "+%Y-%m-%d %H:%M:%S")
# 日志备份路径
logpath="请输入"
# 数据备份路径
datapath="请输入"

# 实际备份执行
# -----------------------------------------------------------------

# 日志记录头部
echo "备份时间为 ${backtime},备份数据库表 ${dbname} 开始" >>${logpath}/log.log
# 正式备份数据库
for table in $dbname; do
  source=$(mysqldump --default-character-set=utf8 --set-gtid-purged=OFF -h${dbip} -u ${dbuser} -p${dbpasswd} -R -E ${table} >${logpath}/${table}_${backtime}.sql) 2>>${logpath}/mysqllog.log
  # 备份成功以下操作
  if [ "$?" == 0 ]; then
    cd $datapath || exit 0
    # 为节约硬盘空间,将数据库压缩
    tar -zcvf ${table}_${backtime}.tar.gz ${table}_${backtime}.sql >/dev/null
    # 自动上传到其它备份服务器 (待办)
    # 删除原始文件,只留压缩后文件
    rm -rf ${datapath}/${table}_${backtime}.sql
    # 删除七天前备份,也就是只保存7天内的备份
    find $datapath -name "*.tar.gz" -type f -mtime +30 -exec rm -rf {} \; >/dev/null 2>&1
    echo "备份时间为${backtime},数据库表 ${dbname} 备份成功!!" >>${logpath}/mysqllog.log
  else
    # 备份失败则进行以下操作
    echo "备份时间为${backtime},数据库表 ${dbname} 备份失败!!" >>${logpath}/mysqllog.log
  fi
done
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
225 0
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
12月前
|
关系型数据库 MySQL Linux
实现MySQL数据库的定时自动备份脚本。
拿走,不谢,这个脚本配方(指引)保证你的数据库数据像蛋糕店一样地天天更新,还能确保老旧的蛋糕(数据)不会堆积满仓库。这下可好,数据安全有保障,数据库管理员也能轻松一点,偶尔闲下来的时候,煮杯咖啡,看个剧岂不美哉?别忘了偶尔检查一下你的自动备份是否正常工作,以防万一蛋糕机器出了点小差错。
776 20
|
Java 数据库
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
275 10
|
存储 关系型数据库 MySQL
利用Cron表达式实现MySQL数据库的定时备份
以上就是如何使用Cron表达式和mysqldump命令实现MySQL数据库的定时备份。这种方法的优点是简单易用,而且可以根据需要定制备份的时间和频率。但是,它也有一些限制,例如,它不能备份MySQL服务器的配置文件和用户账户信息,也不能实现增量备份。如果需要更复杂的备份策略,可能需要使用专门的备份工具或服务。
359 15
|
Java 关系型数据库 MySQL
Java汽车租赁系统源码(含数据库脚本)
Java汽车租赁系统源码(含数据库脚本)
508 4
|
SQL Oracle 关系型数据库
在MySQL Shell里 重启MySQL 8.4实例
在MySQL Shell里 重启MySQL 8.4实例
445 2
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
SQL 关系型数据库 数据库连接
|
8月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
695 9

推荐镜像

更多