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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/750023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring核心方法:Refresh全解(WebMVC如何装配、关联)

Spring核心方法:Refresh全解(WebMVC如何装配、关联) 这里是一个表格,列出了Spring容器刷新过程中执行的方法以及它们的作用: 方法名称描述prepareRefresh()初始化一些属性和状态,例如启动时间戳、活动标志、环境变量等。obtainF…

HTML-DAY2

HTML-DAY2 表格标签 表格的主要作用 表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 Pink老…

Python的Selenium库中的模块、类和异常的汇总

这些是 Selenium Python 库中的模块、类和异常,用于实现自动化 Web 浏览器测试和网页操作。以下是它们的简单解释:Python Module Index — Selenium 4.18.1 documentation 1. selenium.common.exceptions:包含了 Selenium 中可能出现的异常。…

一款比 K8S 更好用的编排工具——Nomod

今天给笔友们推荐一款最近发现的服务编排工具Nomad。综合感觉就是功能很强大,姿势很优雅,相比 K8S 更加轻量级,相比 Docker-Compose 能轻松支持分布式。 Nomad 能做什么? Nomad 采用统一的工作流程,既可以轻松部署和管…

python自动化之(django)(2)

1、创建应用 python manage.py startapp apitest 这里还是从上节开始也就是命令行在所谓的autotest目录下来输入 然后可以清楚的看到 多了一个文件夹 2、创建视图 在views中加入test函数(所建应用下) from django.http import HttpResponse def tes…

C/C++蓝桥杯之卡片问题

问题描述:小兰有很多数字卡片,每张卡片上都是数字0~9。 小兰,准备用这些卡片拼一些数。她想从1开始拼出正整数,每拼一个就保存起来,卡片就不能再用来拼其他数了。 小兰想知道自己能从1拼到多少。 例如&a…

在Swift中集成Socket.IO进行实时通信

在Swift中集成Socket.IO进行实时通信 实时通信是许多现代应用程序的重要组成部分,从聊天应用程序到协作平台。Socket.IO 是一个流行的库,用于在 Web 和移动应用程序中实现实时的双向通信。在本文中,我们将讨论如何使用 Socket.IO-Client-Swi…

Rust的所有权和生命周期机制的本质

目录 所有权机制生命周期机制Rust的堆和栈堆和栈内存分配方式内存管理方式内存分配速度内存大小限制 Rust的所有权和生命周期机制的本质是关于数据在堆和栈中的存储方式。这两个概念是为了解决内存管理和资源分配的问题。 所有权机制 所有权机制确保每个值都有唯一的所有者&a…

基于CNN多阶段图像超分+去噪(超级简单版)

这是之前的一项工作,非常简单,简单的复现了两个算法,然后把它们串起来了。 可执行的程序链接:CSDN; Github 我们分成两部分进行讲解: 1. 图像去噪 1.1 基本思路 图像的去噪工作基于很普通的CNN去噪,效…

Swift 面试题及答案整理,最新面试题

Swift 中如何实现单例模式? 在Swift中,单例模式的实现通常采用静态属性和私有初始化方法来确保一个类仅有一个实例。具体做法是:定义一个静态属性来存储这个单例实例,然后将类的初始化方法设为私有,以阻止外部通过构造…

Ubuntu Desktop - gnome-calculator (计算器)

Ubuntu Desktop - gnome-calculator [计算器] 1. Ubuntu Software -> gnome-calculator -> Install -> Continue2. Search your computer -> Calculator -> Lock to LauncherReferences 1. Ubuntu Software -> gnome-calculator -> Install -> Continu…

STM32中MicroLIB的关闭为什么会导致卡死----解析

STM32MicroLIB 大家好我是 MHZ 。最近又开始往回捡单片机的知识了~ 之前大学的时候都没用过 STM 的 CubeMX,这会拿来用着感觉很方便啊~ 果然科技在进步! 在开发使用 Keil 对 STM32 进行开发的时候在会有一个叫做 MicroLIB 的选项。 这个的具体原因我搜…

C语言 内存函数

目录 前言 一、memcpy()函数 二、memmove()函数 三、memset函数 四、memcmp()函数 总结 前言 在C语言中内存是我们用来存储数据的地址,今天我们来讲一下C语言中常用的内存函数。 一、memcpy()函数 memcpy()函数与我们之前讲的strcpy()函数类似,只…

Android FrameWork 学习路线

目录 前言 学习路线: 1.基础知识 2、AOSP 源码学习 3. AOSP 源码编译系统 4. Hal与硬件服务 5.基础组件 6. Binder 7. 系统启动过程分析 8. 应用层框架​编辑 9. 显示系统 10. Android 输入系统 11. 系统应用 前言 Android Framework 涉及的行业相当广…

Django 解决新建表删除后无法重新创建等问题

Django 解决新建表删除后无法重新创建等问题 问题发生描述处理办法首先删除了app对应目录migrations下除 __init__.py以外的所有文件:然后,删除migrations中关于你的app的同步数据数据库记录最后,重新执行迁移插入 问题发生描述 Django创建的表&#xf…

HCIP—OSPF课后练习一

本实验模拟了一个企业网络场景,R1、R2、R3为公司总部网络的路由器,R4、R5分别为企业分支机构1和分支机构2的路由器,并且都采用双上行方式与企业总部相连。整个网络都运行OSPF协议,R1、R2、R3之间的链路位于区域0,R4与R…

ubuntu开机启动时,如何随着ubuntu的启动指定qt程序使用普通用户运行?

要在Ubuntu开机启动时指定QT程序使用普通用户运行,您可以通过编辑/etc/xdg/autostart目录下的.desktop文件来实现。以下是详细步骤: 创建启动项:在/etc/xdg/autostart目录下创建一个新的.desktop文件。这个文件将包含启动您的QT程序的命令。…

uniapp 利用uni-list 和 uni-load-more 组件上拉加载列表

列表的加载动作,在移动端开发中随处可见,笔者也是经常用到。今天正好有空,做一个总结,方便以后使用。uniapp 利用uni-list 和 uni-load-more 组件上拉加载列表操作步骤如下:1、资料准备 1)、uni-load-more…

JavaWeb--HTML

一:HTML简介 *HTML是一门语言,所有的网页都是用HTML这门语言编写出来的; *HTML:超文本标记语言; 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还能定义图片&#xff…

Android 设计模式单例

懒加载模式 (使用双重检查锁定)1、双重检查锁定(double checked locking)通常用于延迟初始化单例对象,以提高性能,避免不必要的同步。2、我们首先检查instance是否为null,如果是,我们同步并再次检查instance是否为null,如果仍为null,我们才创建新的实例。 3、这样既能确…