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

Linux配置MySQL自动备份

Linux配置MySQL自动备份

配置MySQL的自动备份首先要编辑一个备份脚本然后配置开启Linux定时任务即可,下面是具体配置

1、配置备份脚本并测试执行

1.1 编写备份脚本
#这里创建脚本名为mysql_backups.sh
mkdir ~/mysqlmulu
touch ~/mysqlmulu/mysql_backups.sh
#!/bin/bash# 保留备份的数量
number=8
# 备份的文件需要保存在哪里
backup_dir=/home/bak/mysqlbak/
# 日期
dd=$(date +%Y-%m-%d-%H-%M-%S)
# mysql导出数据库的工具
tool=mysqldump
# 数据库用户名(建议不要在脚本中明文存储密码,而是使用~/.my.cnf或其他安全方法)
username=root
# 数据库密码(已移除,建议使用更安全的方法存储)
# password=xxx
# 将要备份的数据库
database_name=bugtracker
# 如果文件夹不存在则创建
if [ ! -d "$backup_dir" ]; thenmkdir -p "$backup_dir"
fi
# 通过以下命令拼接成一条mysql导出数据库的命令
# 注意:由于不在脚本中存储密码,需要通过其他方式(如~/.my.cnf)配置了mysql客户端的凭据
"$tool" -u "$username" "$database_name" > "$backup_dir/$database_name-$dd.sql"
# 检查mysqldump命令是否成功
if [ $? -ne 0 ]; thenecho "$(date +%Y-%m-%d-%H-%M-%S) Database backup failed for $database_name" >> "$backup_dir/log.txt"exit 1
fi# 写创建备份日志
echo "$(date +%Y-%m-%d-%H-%M-%S) create $backup_dir/$database_name-$dd.sql" >> "$backup_dir/log.txt"
# 如果要按日期删除,需要更复杂的逻辑来解析文件名并比较日期
old_backups=$(find "$backup_dir" -type f -name "*.sql" -printf '%T+ %p\n' | sort | head -n -$number | cut -d' ' -f2-)
# 判断现在的备份数量是否大于$number
count=$(echo "$old_backups" | wc -w)
# 如果old_backups不为空(即找到了需要删除的备份),则删除它们
if [ -n "$old_backups" ]; then# 删除最早生成的备份,只保留number数量的备份echo "$old_backups" | xargs -d '\n' rm -fecho "$(date +%Y-%m-%d-%H-%M-%S) Deleted old backups to keep only $number recent ones" >> "$backup_dir/log.txt"
fi
1.2 my.cnf文件存储认证信息
[client]
user=your_username
password='your_password'
1.3 测试备份生效
chmod 755 ~/mysqlmulu/mysql_backups.sh
./mysql_backups.sh

2、配置定时任务脚本

2.1 配置任务脚本
vim mysqlRollBack.cron
#这里设置每月20号的1点执行脚本
0 1 20 * * /root/mysqlmulu/backup_script.sh
2.2 添加到定时任务
crontab mysqlRollBack.cron

然后查看是否成功即可

crontab -l

相关文章:

Linux配置MySQL自动备份

Linux配置MySQL自动备份 配置MySQL的自动备份首先要编辑一个备份脚本然后配置开启Linux定时任务即可,下面是具体配置 1、配置备份脚本并测试执行 1.1 编写备份脚本 #这里创建脚本名为mysql_backups.sh mkdir ~/mysqlmulu touch ~/mysqlmulu/mysql_backups.sh#!/…...

qt 之 QDockWidget设置不可拖动

在Qt中,可以通过设置QDockWidget的属性来禁止它被拖动。你可以使用QDockWidget::setFeatures方法并传递QDockWidget::DockWidgetMovable作为参数来禁用拖动功能。 以下是一个简单的示例代码,展示了如何设置QDockWidget为不可拖动: #include …...

【Java知识】Java性能测试工具JMeter

一文带你了解什么是JMeter 概述JMeter的主要功能:JMeter的工作原理:JMeter的应用场景:JMeter的组件介绍: 实践说明JMeter实践基本步骤:JMeter实践关键点: JMeter支持哪些参数化技术?常见插件及其…...

Git 安装

一、下载安装包 Git官网 https://git-scm.com/ Git 阿里镜像 二、安装 点击安装包运行,基本上一路 next 就行。 使用许可声明 选择安装目录 选择组件,默认勾选就行 选择开始菜单文件夹,默认就行 选择 Git 的默认编译器,默认 V…...

【Python】FastAPI:Token认证

FastAPI:Token认证 本教程通过 FastAPI 实现用户登录和基于 JWT(JSON Web Token) 的认证与授权,适合初学者到进阶用户。教程特别关注 Depends、OAuth2PasswordBearer 等非基础操作的详细讲解,帮助你全面掌握相关技术。…...

【FAQ】HarmonyOS SDK 闭源开放能力 —ArkUI

1.问题描述: App启动的时候会有个弹框,询问用户是否需要进去隐私模式,在该隐私模式下,App不能获取任何用户信息。当前鸿蒙App级别是否有隐私模式? 解决方案: 当前实现隐私模式都是三方应用自己实现&…...

ubuntu没有了有线网络如何修复

今天打开ubuntu之后发现有线网络连接没有了,如下图,此时是修复好之后的,“有线”部分存在,出现问题时是不存在的 此时只需要修改NetworkManager.conf配置文件,将managedfalse更改为managedtrue,保存退出就可以了 sudo…...

渗透学习之windows基础

引路Windows基础之病毒编写(完结)_哔哩哔哩_bilibili windows基础(2) 21 ftp 23 tenlet 80 web 80-89 可能是web 443 ssl心脏滴血漏洞以及一些web漏洞测试 445 smb 1433 msspl 1521 oracle 2082/2083 cpanel 主机管理系…...

【Swift】运算符

文章目录 术语赋值运算符算数运算符基本四则算术运算符求余运算符一元负号运算符一元正号运算符 比较运算符三元运算符空合运算符区间运算符闭区间运算符半开区间运算符单侧区间运算符 逻辑运算符逻辑非运算符逻辑与运算符逻辑或运算符逻辑运算符组合计算 位运算符运算符优先级…...

minikube start --driver=docker 指定国内镜像

要在Ubuntu 22上使用Minikube并指定国内镜像,你可以根据以下步骤操作: 安装Minikube: 你可以通过阿里云提供的国内源来安装Minikube,这样可以避免访问国外源的问题。使用以下命令安装Minikube: curl -Lo minikube http…...

Quality minus junk论文阅读

Quality minus junk论文阅读 文章目录 Quality minus junk论文阅读 AbstractTheoretical FrameworkEmpirical AnalysisDataQuality scorePortfoliosEx ante quality forecasts fundamentals Results and DiscussionThe price of qualityUnderstanding the price of quality: th…...

Apache和HTTPS证书的生成与安装

摘要 介绍linux系统下使用openssl生成https证书,并将证书安装在apache服务器上,最终实现通过https访问服务器。这个过程涉及到openssl生成自签名证书(适用于测试环境),修改apache配置,开放防火墙https端口…...

前端—Cursor编辑器

在当今快速发展的软件开发领域,效率和质量是衡量一个工具是否优秀的两个关键指标。今天,我要向大家推荐一款革命性的代码编辑器——Cursor,它集成了强大的AI功能,旨在提高开发者的编程效率。以下是Cursor编辑器的详细介绍和推荐理…...

【数据结构】【线性表】【练习】删除链表倒数第n个结点

目录 申明 题目 分析题目信息 解题思路 代码解析 技巧解析:创建虚拟头结点 时间复杂度分析 思考:能否只用一趟扫描实现? 双指针 双指针解题思路 代码解析 申明 该题源自力扣题库19,文章内容(代码&#xff0c…...

MySQL高级(四):索引

基础概念 什么是索引? 索引是一种数据结构,用于加速查询的过程。它类似于书本的目录,可以快速定位数据行。MySQL 索引主要是基于 B 树(也有其他类型如哈希索引、全文索引等)来实现的。 为什么使用索引? …...

hhdb数据库介绍(9-21)

计算节点参数说明 checkClusterBeforeDnSwitch 参数说明: PropertyValue参数值checkClusterBeforeDnSwitch是否可见否参数说明集群模式下触发数据节点高可用切换时,是否先判断集群所有成员正常再进行数据节点切换默认值falseReload是否生效是 参数设…...

React中组件通信的几种方式

在构建复杂的React应用时,组件之间的通信是至关重要的。从简单的父子组件通信到跨组件状态同步,不同组件之间的通信方式多种多样。 1. 父子组件通信 父子组件通信是 React 中最基本的通信方式之一。在这种模式下,数据是从父组件通过 props …...

python脚本实现csv中百度经纬度转84经纬度

数据准备 csv文件,带百度经纬度字段:bd09_x,bd09_y 目的 将百度经纬度转换为84经纬度,并在csv文件中添加两个字段:84_x,84_y python脚本 from ChangeCoordinate import ChangeCoordimport pandas as pd import numpy as npcoord = ChangeCoord()def bd09_to_wgs84...

syslog udp配置笔记

要将 /var/log/ 目录下的日志信息通过 UDP 发送到远程服务器,可以使用 rsyslog 的配置来实现。以下是详细步骤: 步骤 1:确保 rsyslog 已安装 如果 rsyslog 没有安装,请使用以下命令进行安装: 在 CentOS/RHEL: sudo yum install rsyslog在 Ubuntu/Debian: sudo apt-get i…...

Linux环境开启MongoDB的安全认证

文章目录 1. MongoDB安全认证简介1.1 访问控制1.2 角色1.3 权限 2. MongoDB中的常见角色3. MongoDB Shell3.1 下载MongoDB Shell3.2 通过MongoDB Shell连接MongoDB 4. 创建管理员用户5. 为具体的数据库创建用户6. 开启权限认证7. 重启MongoDB服务8. 连接MongoDB9. MongoDB数据库…...

django基于Python的农产品销售系统的设计与实现

摘 要 随着现代人们的快速发展,农产品销售系统已成为农产品的需求。该平台采用Python技术和django搭建系统框架,后台使用MySQL数据库进行信息管理;通过个人中心、用户管理、商家管理、产品类型管理、农产品管理、系统管理、订单管理等功能&a…...

linux复习5:C prog

编辑 缩排 为了使C源代码更加整洁易读,可以使用一些工具来自动格式化代码,例如cb(C程序美化器)、bcpp(C美化器)和indent等。 编译 编译并链接C文件 gcc hello.c -o hello 将 hello.c 编译并链接成可执行文…...

Go语言24小时极速学习教程(三)常见标准库用法

常见标准库 常见标准库即Go语言自带的库,这里的所有包都可以通过import直接引入,如果你觉得实在是不好用,那么请先保证你学会了标准库的基础上,再学一下Gookit,特别是其中的GoUtil,千万不要轻易自己去造轮…...

大数据环境下的高效数据清洗策略

大数据环境下的高效数据清洗策略 在当今这个信息爆炸的时代,大数据已成为企业决策和科学研究不可或缺的重要资源。然而,数据的海量性、多样性和复杂性也给数据处理带来了前所未有的挑战,其中数据清洗是确保数据质量和后续分析准确性的关键步…...

基于SpringBoot3+mybatis搭建的历史上的今天API接口服务 及 Mybatis 应该有个更好的方法来隐藏 Pojo 类中的字段

一、Mybatis有没有比较好的方法隐藏 Pojo 类中的字段 使用 Mybatis 时,为了实现通用的CURD,在定义实体类pojo时,会尽量将能用得上的数据库字段都定义到 pojo中,但是在查询的时候却有不一样的需求。mybatis的文档地址链接&#xff…...

Python 3 字符串

Python 3 字符串 字符串在Python中是一种基本的数据类型,用于存储文本数据。Python中的字符串是不可变的,这意味着一旦创建了一个字符串,就不能更改其内容。字符串可以用单引号()、双引号("&#xff…...

Android集成FCM(Firebace Cloud Messaging )

集成FCM官方文档 Firebace主页面 将 Firebase 添加到您的 Android 应用 1、进入Firebace页面,创建自己的项目 2、点击自己创建好的项目,在右侧选择Cloud Messaging 3、点击Android去创建 google-services.json 4、将下载的 google-services.json 文件…...

基于 RBF 神经网络辨识的单神经元 PID 模型参考自适应控制

这是一个基于 RBF 神经网络辨识 和 单神经元 PID 模型参考自适应控制 的系统框图,包含以下主要部分: RBF 神经网络模块:用于对系统进行辨识,输入误差 e(t)e(t)e(t) 和误差变化量 Δe(t)\Delta e(t)Δe(t),输出与系统特…...

2024年 Web3开发学习路线全指南

Web3是一个包含了很多领域的概念,不讨论币圈和链圈的划分,Web3包括有Defi、NFT、Game等基于区块链的Dapp应用的开发;也有VR、AR等追求视觉沉浸感的XR相关领域的开发;还有基于区块链底层架构或者协议的开发。 这篇文章给出的学习路…...

Ubuntu22.04LTS 部署前后端分离项目

一、安装mysql8.0 1. 安装mysql8.0 # 更新安装包管理工具 sudo apt-get update # 安装 mysql数据库,过程中的选项选择 y sudo apt-get install mysql-server # 启动mysql命令如下 (停止mysql的命令为:sudo service mysql stop&#xff0…...

网架加工制造厂家/seosem顾问

vue3手写电商微信小程序( 微信开发者工具)【问题总结】该项目技术栈:vite3 vue3.2 pinia typeScript1、样式穿透在微信开发者工具不适用:2、v-html在微信开发者工具显示的是rich-text组件,导致样式不适用&#xff1…...

福田莲花北网站建设/个人博客网页设计

1. 悲观锁与乐观锁我们都知道,cpu是时分复用的,也就是把cpu的时间片,分配给不同的thread/process轮流执行,时间片与时间片之间,需要进行cpu切换,也就是会发生进程的切换。切换涉及到清空寄存器,…...

有什的自学做网站/seo月薪

前两天在梅州办事处蛋疼地把ubuntu升级至12.04,结果是网络标识找不到了,而且无线也无法上网了,最简单的检测办法ifconfig没找到eth1(wl的逻辑名)的信息,证明是无线网卡没有驱动,查找系统设置--附加驱动&…...

域名停靠app盘他射门下载/厦门seo百度快照优化

查看当前时区 ls -l /etc/localtime我目前这台服务器的时区时美国纽约时间 查看时区选择列表 tzselect执行tzselect后会出现上图的选择内容,我们输入5来选择亚洲时区,接着会有下图 然后接着输入9,表示选择中国 接着选择北京时间或者新疆…...

三亚市政府网站的建设/网站流量排行

由Semtech、Cisco、IBM、ST、法国电信Orange、阿里巴巴等等会员组合成的LoRa 协会所制定出的标准通讯协议 LoRaWAN已经成为市场所通用的协议。其包含了需多的通讯沟通模式如适合省电节点的的固定双向通讯Class A、和提供需要实时双向沟通用的最大接收时间窗口 Class C 及介于中…...

wordpress 动态解析/怎么注册域名网址

编辑:陈凌煜本文出自微信公众号“August精彩编程”(ID:august-edu)2019年8月12日网站分静态网站和动态网站,相信小伙伴们对这两个词略有耳闻或者已经了解,那么小编还是啰嗦一下这两种网站有什么区别。网页上的内容是随着数据库读取…...