shell脚本备份MySQL数据库

临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,基于环境是ubuntu 10.04 server

需求

临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,,基于环境是Ubuntu 10.04 server

思路

shell代码

数据库导出代码

#!/bin/bash

#1.数据库信息定义
mysql_host=”192.168.1.1″
mysql_user=”root”
mysql_passwd=”root”

#sql备份目录
root_dir=”/backup”
back_dir=”/backup/databases”
data_dir=”databases”
store_dir=”database”
if [ ! -d $back_dir ]; then
 mkdir -p $back_dir
fi

库宝AI 库宝AI

库宝AI是一款功能多样的智能伙伴助手,涵盖AI写作辅助、智能设计、图像生成、智能对话等多个方面。

库宝AI 109 查看详情 库宝AI

#备份的数据库数组
db_arr=$(echo “show databases;” | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host)
#不需要备份的单例数据库
nodeldb=”test1″

#当前日期
date=$(date -d ‘+0 days’ +%Y%m%d)

#zip打包密码
zippasswd=”passwd”
zipname=”lczh_”$date”.zip”

#2.进入到备份目录
cd $back_dir

#3.循环备份
for dbname in ${db_arr}
do
 if [ $dbname != $nodeldb ]; then
  sqlfile=$dbname-$date”.sql”
  mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host $dbname >$sqlfile
 fi
done

#4.zip打包所有的sql文件
cd $root_dir/$store_dir
zip -r -P $zippasswd $zipname $root_dir/$data_dir
#打包成功后删除sql文件
if [ $? = 0 ]; then
 rm -r $data_dir
fi

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/561556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 01:16:12
下一篇 2025年11月10日 01:23:59

相关推荐

  • 解释C++主函数main的返回值为int的意义

    main函数返回int类型是C++标准强制要求,旨在向操作系统返回程序执行状态。返回0表示成功,非零值表示错误,不同数值可标识具体错误类型。若未显式写return语句,C++会自动补上return 0;,确保正常退出。该机制源于C语言,保证与操作系统和运行时环境的兼容性,int类型在各平台均有足够表…

    2025年12月18日
    000
  • C++文件版本控制 简单版本管理实现

    答案:通过文件复制与元数据记录实现C++轻量级版本控制,使用时间戳命名版本文件并配合日志记录变更内容,结合命令行工具或IDE集成实现自动化保存与恢复,避免手动备份混乱、存储膨胀等问题,适用于个人或小型项目。 C++文件版本控制,尤其是在我们不想或者没必要引入Git这样大型工具的时候,其核心在于建立一…

    2025年12月18日
    000
  • 如何实现WinForms应用的自动更新功能?

    构建自定义更新器是实现WinForms应用自动更新最灵活的方式,核心流程包括:启动时由Updater检测版本,通过服务器获取最新版本信息(如JSON),若需更新则下载ZIP包并校验完整性,随后替换旧文件并启动新版本。关键挑战在于文件锁定与更新器自更新问题,可通过“优雅关闭”主程序、备份回滚、哈希校验…

    2025年12月17日
    000
  • EventLog的WriteEntry异常怎么处理?日志记录问题

    eventlog.writeentry异常的常见原因包括权限不足、事件源未注册、事件日志已满或损坏、事件日志服务未运行及无效参数;2. 解决权限问题需为应用程序运行账户配置注册表写入权限或选择合适账户;3. 事件源注册应在安装程序中以管理员权限完成,或通过首次启动检查并提示用户;4. 备用日志策略包…

    2025年12月17日
    000
  • PowerShell中运行C#代码

    在powershell中运行c#代码的解决方案是使用add-type cmdlet,它支持内联编译和加载预编译dll。1. 使用add-type -typedefinition运行内联c#代码时,需将代码封装在命名空间和类中,并通过-typedefinition参数传递多行字符串形式的c#源码,若引…

    2025年12月17日
    000
  • XML中如何去除空节点_XML去除空节点的实用方法

    答案:可通过XSLT、Python脚本或命令行工具去除XML空节点。使用XSLT模板递归复制非空节点;Python的lxml库遍历并删除无文本、无子节点、无属性的元素;XMLStarlet命令行工具执行XPath表达式快速清理空标签,处理前需明确定义空节点并备份原文件。            &lt…

    2025年12月17日
    000
  • XML中如何压缩XML内容_XML压缩XML内容的操作步骤

    XML压缩通过去除冗余、GZIP/ZIP压缩、二进制格式转换(如EXI)等方式减小体积;可借助工具自动化处理,适用于传输优化与存储节约。 在处理XML文件时,压缩XML内容可以减小文件体积,提高传输效率和存储利用率。实现XML压缩通常包括去除冗余信息、使用专用压缩算法等步骤。以下是具体操作方法。 1…

    2025年12月17日
    000
  • XML中如何合并多XML文档_XML合并多个XML文档的方法

    答案:合并XML文档常用方法包括XSLT转换、编程语言处理、命令行工具及专用软件。首先使用XSLT通过document()函数加载并整合多个XML;其次可用Python等语言解析ElementTree实现灵活合并;再者通过sed或xmllint脚本批量拼接简单结构文件;最后可借助Oxygen等可视化…

    2025年12月17日
    000
  • XML中如何批量修改节点值_XML批量修改节点值的操作方法

    批量修改XML节点值可通过Python、XSLT或命令行工具实现。1. 使用Python的xml.etree.ElementTree模块可加载XML文件,遍历指定节点并修改内容,如将price节点值上调10%,再保存为新文件。2. XSLT适用于复杂转换,通过模板规则批量替换节点值,例如将文本为&#…

    2025年12月17日
    000
  • XQuery如何处理大文件?

    答案是处理大文件需结合流式解析、分块处理与XML数据库。XQuery默认加载全文件到内存,导致大文件易内存溢出;流式处理(如Saxon EE支持)可逐节点解析,避免内存爆炸;分块处理通过外部工具拆分文件,降低单次处理压力;而XML数据库(如MarkLogic、BaseX)通过索引、碎片化存储与延迟求…

    2025年12月17日
    000
  • 用Shell脚本生成XML文件实例详解

    今天把这段时间学习完shell后完成工作上的一个小案件整理了一下,分享给大家! 说来也巧了,作为一个刚刚毕业半年的菜鸟,进入公司后,听公司的大牛推荐学习linux–”鸟哥的私房菜“,基本上是从去年8月份开始到了今年的1月份,基本上是把基础篇看完了,开始了解shell脚本的相关知识。刚好公司有了一个s…

    2025年12月17日
    000
  • 如何使用godep高效管理Go项目中的Vendored依赖

    本文旨在解决Go服务项目中管理版本化Vendored依赖的挑战,尤其是在不破坏标准`GOPATH`工作流的情况下。文章分析了手动Vendoring的常见问题,并引入了`godep`作为一套稳定且广泛应用的解决方案。教程将详细指导`godep`的安装、配置及核心用法,帮助开发者实现Go项目依赖的精确版…

    2025年12月16日
    000
  • Go语言go run命令多文件项目处理策略与优化

    在go语言中,`go run`命令与`go build`命令在处理包含多个源文件的`main`包时行为有所不同。`go run`默认要求显式列出所有相关文件,而`go build`则能自动识别并编译。本文将深入探讨`go run`的这一特性,并提供多种优化策略,包括使用shell通配符简化命令、利用…

    2025年12月16日
    000
  • Go语言中执行外部命令并捕获标准错误输出的实践指南

    本文探讨了在go语言中使用os/exec包执行外部命令时,如何正确捕获其输出。针对python –version等命令将版本信息输出到标准错误流(stderr)而非标准输出流(stdout)的常见问题,教程详细阐述了cmd.output()与cmd.combinedoutput()的区别…

    2025年12月16日
    000
  • Golang 如何编写自动化测试脚本_Golang 自动化执行与结果记录方法

    Go语言通过testing包支持单元测试和基准测试,测试文件以_test.go结尾,使用*testing.T参数编写测试函数。示例中对Add函数进行验证,运行go test执行测试,-v参数显示详细输出。推荐采用表驱动测试方式组织多组用例,将输入与预期结果定义为切片并循环校验,提升覆盖率和可维护性。…

    2025年12月16日
    000
  • Golang如何编写DevOps任务调度模块

    答案:使用Golang构建DevOps任务调度模块需定义任务结构与执行接口,集成robfig/cron/v3实现定时调度,通过HTTP API与数据库支持动态管理,结合context超时控制、日志记录及错误重试机制确保稳定性。 在DevOps系统中,任务调度模块负责定时或触发式执行部署、构建、监控等…

    2025年12月16日
    000
  • Go语言pprof性能分析实战:快速定位CPU与内存瓶颈

    本文将详细介绍如何使用go语言内置的pprof工具对go应用程序进行cpu和内存性能分析。通过结合基准测试(benchmark)功能,读者可以学习如何生成性能剖析数据,并利用go tool pprof命令以文本形式查看和解读热点函数及内存使用情况,从而高效定位代码中的性能瓶颈。 Go语言提供了强大的…

    2025年12月16日
    000
  • Go语言:高效将外部命令标准输出重定向到文件

    本文详细介绍了在go语言中如何将`exec.cmd`执行外部命令的标准输出直接重定向到一个文件。通过将目标文件句柄赋值给`cmd.stdout`字段,可以实现高效且简洁的输出捕获,避免了手动处理管道和并发的复杂性,是处理此类场景的推荐方法。 在Go语言中,执行外部命令是常见的操作,例如调用shell…

    2025年12月16日
    000
  • Go语言中灵活处理标准输入与文件输入:避免程序阻塞的策略

    本文探讨go程序中处理标准输入(stdin)时可能遇到的阻塞问题,并提供一种优雅的解决方案。通过允许程序从命令行指定的文件读取数据,或在未指定文件时默认从stdin读取,可以有效避免无限期等待输入,提升命令行工具的健壮性和用户体验。 理解os.Stdin的阻塞行为 在Go语言中,当我们使用bufio…

    2025年12月16日
    000
  • Golang程序退出后持久化工作目录的策略

    本文探讨了go语言程序中`os.chdir`函数无法在程序终止后持久化当前工作目录的问题。由于每个进程的工作目录是私有的,go程序无法直接改变其父shell的目录。教程提供了两种主要解决方案:通过中间脚本写入并执行目录更改,或更简洁地让go程序将目标目录输出到标准输出,然后由父shell捕获并执行`…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信