当前位置: 首页 > news >正文

Linux 自动备份 mysql 脚本

这个脚本会将数据库备份为一个SQL文件,并将其保存在指定的目录中。

#!/bin/bash# MySQL配置
DB_USER="your_mysql_username"
DB_PASS="your_mysql_password"
DB_NAME="your_database_name"
DB_HOST="localhost"# 备份目录
BACKUP_DIR="/path/to/your/backup/directory"# 当前日期
DATE=$(date +%Y%m%d%H%M%S)# 备份文件名
BACKUP_FILE="$BACKUP_DIR/backup_$DATE.sql"# 使用mysqldump命令备份数据库
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE# 检查备份是否成功
if [ $? -eq 0 ]; thenecho "MySQL backup completed successfully."
elseecho "MySQL backup failed."
fi

在使用此脚本之前,请确保您已经安装了mysqldump工具,这是MySQL数据库备份的常用工具。

此外,您需要将your_mysql_usernameyour_mysql_passwordyour_database_name/path/to/your/backup/directory替换为您自己的MySQL用户名、密码、数据库名和备份目录路径。

保存此脚本为backup_mysql.sh,并在终端中运行以下命令以使其可执行:

chmod +x backup_mysql.sh

脚本将创建一个以当前日期和时间命名的SQL备份文件,并将其保存在指定的备份目录中。在备份完成后,脚本将输出相应的成功或失败消息。

请注意,此脚本仅提供基本的备份功能,并未涵盖所有可能的错误处理和日志记录。在实际使用中,您可能需要根据自己的需求进行进一步的修改和扩展。此外,为了确保备份的安全性和可靠性,建议您定期测试备份文件,并在需要时将其存储在远程位置或进行加密处理。

如果出现:

这个错误通常发生在尝试在Unix-like系统上执行脚本时,而这个脚本是在Windows环境下编辑的。Windows使用回车换行符(CRLF,即\r\n),而Unix使用换行符(LF,即\n)。在Unix系统中运行带有CRLF换行符的脚本会导致解释器找不到/bin/bash^M这样的文件名。

#使用sed命令转换:
sed -i 's/\r//' backup_mysql.sh

确保在转换之后再次运行脚本即可。

相关文章:

  • Windows10安装RubyRails步骤
  • Apache zookeeper kafka 开启SASL安全认证
  • vite打包时发布时,放在服务器的二级目录中
  • 解析编程中不可或缺的基础:深入了解结构体类型
  • 【Linux-网络编程】
  • 【漏洞复现】大华智慧园区综合管理平台SQL注入漏洞
  • 【vue baidu-map】实现百度地图展示基地,鼠标悬浮标注点展示详细信息
  • 配置vscode环境极简版(C/C++)(图文)
  • 在idea中配置tomcat服务器,部署一个项目(下载教程加链接)
  • KONG - API转发流程梳理
  • 深入探索Java并发编程:ArrayBlockingQueue详解
  • Python最常用的库
  • 从零开始利用MATLAB进行FPGA设计(三)将Simulink模型转化为定点数据类型
  • C# RAM Stable Diffusion 提示词反推 Onnx Demo
  • 基于 Spark 的电商用户行为分析系统
  • .pyc 想到的一些问题
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • go append函数以及写入
  • JavaScript对象详解
  • Phpstorm怎样批量删除空行?
  • Web设计流程优化:网页效果图设计新思路
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 爬虫模拟登陆 SegmentFault
  • 前端攻城师
  • 区块链将重新定义世界
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 小李飞刀:SQL题目刷起来!
  • 用element的upload组件实现多图片上传和压缩
  • ​人工智能书单(数学基础篇)
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #pragma multi_compile #pragma shader_feature
  • #微信小程序(布局、渲染层基础知识)
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (一)UDP基本编程步骤
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET 常见的偏门问题
  • .net6Api后台+uniapp导出Excel
  • .NET性能优化(文摘)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @vue/cli脚手架
  • [ C++ ] STL---stack与queue
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [AIGC] 如何建立和优化你的工作流?
  • [APIO2015]巴厘岛的雕塑
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [BZOJ3757] 苹果树
  • [C]整形提升(转载)
  • [hdu4622 Reincarnation]后缀数组
  • [Hibernate] - Fetching strategies
  • [JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单文件并监听进度]
  • [leetcode] Balanced Binary Tree
  • [loj6039]「雅礼集训 2017 Day5」珠宝 dp+决策单调性+分治