Linux 上如何做MySQL数据备份

目录

  • SQL备份脚本
  • 创建crontab
  • crontab命令总结
  • 查看特定目录中的周期性任务

在这里插入图片描述

crontab(cron table 的缩写)是 Unix/Linux 系统上用于设置周期性被执行的任务的工具。它允许用户定义需要在特定时间(比如每天凌晨、每周的某个时间等)自动运行的脚本或命令。这些任务被保存在一个叫做 crontab 的文件中,该文件位于用户的家目录下的 .crontab 文件中(对于系统级的任务,则可能保存在 /etc/crontab 或 /etc/cron.d/ 目录下)。

SQL备份脚本

#!/bin/bash
# 备份脚本
# 备份文件保存路径
BACKUP_DIR="/path/to/your/dir"
# MySQL 数据库用户名
DB_USER="username"
# MySQL 数据库密码
DB_PASSWORD="password"
# 需要备份的数据库名称
DB_NAME="username"
# 获取当前日期
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
# 备份文件名
BACKUP_FILE="$BACKUP_DIR/${DB_NAME}_backup_$DATE.sql"# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR# 执行备份命令
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE# 删除超过30天的备份文件find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -exec rm {} \;

如果运行报错,“不能输入密码”,可以在my.cnf中配置账号和密码,把mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE 中的-p去掉。

如果导出部分试图或表没权限的时候,grant权限就行,报错都很好解决。

[mysqldump ]
username=root
password=xxxx

创建crontab

# 给脚本赋权限
chmod +x /app/databases/backup.sh
# 创建crontab 定时任务
crontab -e 
# 粘贴到crontab中
0 23 * * * /path/to/your/dir/backup.sh >> /path/to/your/dir/logs/backup.log 2>&1

crontab 文件中的每一行都代表一个要执行的任务,其格式通常如下:

* * * * * command_to_execute
- - - - -
| | | | |
| | | | +---- Day of week   (0 - 7) (Sunday=0 or 7)
| | | +------ Month of year (1 - 12)
| | +-------- Day of month  (1 - 31)
| +---------- Hour          (0 - 23)
+------------ Minute        (0 - 59)
  • 分钟(0 - 59)
  • 小时(0 - 23)
  • 一个月中的第几天(1 - 31)
  • 月份(1 - 12)
  • 星期中的第几天(0 - 7,其中 0 或 7 都代表星期天)
    这些字段中的星号()代表该字段的每一个时刻。例如, * * * * 表示每分钟执行一次。

crontab命令总结

- crontab -l 查看系统有哪些定时任务
- sudo crontab -l -u username 查看指定用户的定时任务- cat /etc/crontab
- crontab -r 删除当前用户的所有 crontab 任务
- crontab -i -r 在删除前进行确认
- systemctl status cron
- service cron status
- sudo systemctl restart cron
- sudo service cron restart
- crontab -V

查看特定目录中的周期性任务

  • 每小时执行的任务在 /etc/cron.hourly/
  • 每天执行的任务在 /etc/cron.daily/
  • 每周执行的任务在 /etc/cron.weekly/
  • 每月执行的任务在 /etc/cron.monthly/

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

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

相关文章

16个你必须掌握的Python数据类型

文末赠免费精品编程资料~~ Python,以其简洁的语法和强大的数据处理能力,成为初学者和专业人士的首选语言。数据类型是Python编程的基石,理解它们对于编写高效、清晰的代码至关重要。下面,我们将逐一探索并实践Python中10个核心数…

多模态生成发文量大涨!最新成果统一Transformer和Diffusion,含金量超高

最近多模态生成领域也在“神仙打架”,比如Meta的全新训练方法Transfusion,用单个模型就能同时生成文本和图像! 还有之前华为、清华提出的个性化多模态内容生成技术PMG,生成的内容可“量身定制”,更能满足偏好。 这些…

使用Blender云渲染的好处是什么?

​Blender是一款功能强大的开源3D创作软件,用于包括建模、动画、仿真、渲染、合成和视频编辑在内的多种应用。然而,Blender的渲染过程有时可能非常耗费资源,特别是处理复杂的3D场景时。作为CG行业不可或缺的一部分,云渲染通过使用…

sqlite3的db.wait方法:等待所有查询完成

Node.js中sqlite3的db.wait方法深入解析 在Node.js环境中,sqlite3库为开发者提供了一个与SQLite数据库进行交互的简洁API。在处理数据库操作时,有时需要等待直到所有的查询都完成,这时db.wait方法就显得尤为重要。本文将深入解析sqlite3库中…

shell脚本1----编程规范与变量

shell脚本 shell的功能 Shell(壳程序)是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执…

【大数据】kafka与Zookeeper不得不说的关系!

文章目录 一、开场白:大数据时代的“黄金搭档”二、正文1. Kafka与ZooKeeper的那些事儿2. ZooKeeper的选举:一场“王位争夺战”3. Kafka的“备胎”计划:告别ZooKeeper的日子4. 源码揭秘:一探究竟的“八卦之旅” 三、结尾&#xff…

深入了解linux下TCP并发服务器和IO模型的实现

一、整体框架 在网络编程中,服务器的架构可以根据需求不同而有所不同。主要有以下几种框架: 1. 单循环服务器:同一时刻只处理一个客户端的请求,通常使用传统的阻塞式编程模型。这种模型简单易实现,但处理能力有限&am…

.NetCore发布到IIS

一:安装sdk(下载 .NET 8.0 SDK (v8.0.302) - Windows x64 Installer) 与donet Runtime(.NET Downloads (Linux, macOS, and Windows))选择对应的版本下载 二:解决问题:HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面&#x…

【C++11(一)之入门基础)】

文章目录 C简介统一的列表初始化{}初始化 std::initializer_liststd::initializer_list是什么类型:std::initializer_list使用场景: 声明autodecltypenullptr STL中一些变化 C简介 在2003年C标准委员会曾经提交了一份技术勘误表(…

大数据新视界--大数据大厂之MySQL 数据库课程设计:数据安全深度剖析与未来展望

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

一种误差较小的轮廓面积计算算法

1.背景 基于微分思想的轮廓面积计算方法之一是将多边形轮廓边与X轴会Y轴进行围合,形成一个个梯形,每个梯形的面积有符号,累计求和即得到多边形轮廓的面积。详见博主之前的文章, 记录导致计算轮廓面积出错的一个坑点-CSDN博客文章…

C++ Qt进程间通信机制之QRO、QRemoteObjectHost

文章目录 QRO_serverQRO_client深入浅出C++ Qt开发技术专栏:https://blog.csdn.net/yao_hou/category_9276099.html Qt高级开发视频教程 https://edu.csdn.net/course/detail/37447?spm=1001.2014.3001.5507 C++零基础入门视频教程 https://edu.csdn.net/course/detail/379…

Rust 学习笔记 3:一般性编程概念

上一篇:Rust 学习笔记 2:猜数字游戏 文章目录 1. 前言2. 背景3. Rust 中的一般性编程概念3.1 变量及其可变性(Mutability)3.1.1 变量定义3.1.2 常量3.1.3 变量隐藏(Shadowing) 3.2 基本类型3.2.1 标量(scalar)类型3.2.1.1 整型(Integer Types)3.2.1.2 浮…

项目拆解:短视频冷门赛道—ai绘画+温馨小屋,引流变现全攻略

在这个快节奏的时代,工作、学习、家庭的重担仿佛三座大山,让人喘不过气,心情时常跌入谷底。就像蜗牛遇到威胁会缩进壳里,我们也会在疲惫和忧虑时,渴望一个属于自己的温暖小窝,来安放疲惫的心灵。而自媒体平…

Flink 1.14.* Flink窗口创建和窗口计算源码

解析Flink如何创建的窗口,和以聚合函数为例,窗口如何计算聚合函数 一、构建不同窗口的build类1、全局窗口2、创建按键分流后的窗口 二、在使用窗口处理数据流时,不同窗口创建的都是窗口算子WindowOperator1、聚合函数实现2、创建全局窗口(入参…

SpringFrameWork学习笔记

本笔记基于【尚硅谷新版SSM框架全套视频教程,Spring6SpringBoot3最新SSM企业级开发】https://www.bilibili.com/video/BV1AP411s7D7?vd_sourcea91dafe0f846ad7bd19625e392cf76d8 总结 资料获取网址:https://www.wolai.com/v5Kuct5ZtPeVBk4NBUGBWF 技术…

Java项目: 基于SpringBoot+mysql房产销售系统 (含源码+数据库+开题报告+答辩PPT+毕业论文)

一、项目简介 本项目是一套基于SpringBootmysql房产销售系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐…

数学基础 -- 线性代数之LU分解

LU分解 LU分解(LU Decomposition)是线性代数中非常重要的一种矩阵分解方法。它将一个方阵分解为一个下三角矩阵(L矩阵)和一个上三角矩阵(U矩阵)的乘积。在数值线性代数中,LU分解广泛用于求解线…

Halcon基于灰度值的模板匹配

Halcon基于灰度值的模板匹配 基于灰度值的模板匹配是最经典的模板匹配算法,也是最早提出来的模板匹配算法。这种算法的根本思想是,计算模板图像与检测图像之间的像素灰度差值的绝对值总和(SAD方法)或者平方差总和(SSD…

Spring解析

目录 容器与 bean 1) 容器接口 演示1 - BeanFactory 与 ApplicationContext 的区别 代码参考 收获💡 演示2 - 国际化 2) 容器实现 演示1 - DefaultListableBeanFactory 代码参考 收获💡 演示2 - 常见 ApplicationContext 实现 代码参考 收获…