Linux 使用crontab定时备份Mysql数据库

linux定时备份mysql数据库,及解决crontab执行时生成数据库文件为空的问题 linux定时备份mysql数据库 阅读详情

前言

项目要部署到开发环境,为了保证客户机房断电或者其他原因导致数据库数据丢失问题,最好的办法就是及时备份数据库
如果是手动去备份的话!那想想就好了,如果真的去做,你得去抓狂
那有什么好的办法呢?
这时 Linux的自动定时任务命令crontab就发挥他的作用了

定时备份MySQL数据库教程

  1. 在/home/dduan目录下面新建dbbackup.sh文件并且添加x执行权限
dduan@dduan:~$ sudo su
[sudo] password for dduan:
root@dduan:/home/dduan# touch dbbackup.sh
root@dduan:/home/dduan# chmod a+x dbbackup.sh
root@dduan:/home/dduan# ls -al dbbackup.sh
-rw-rw-rw- 1 root root 0 May 30 06:37 dbbackup.sh
  1. 使用vim编辑器编写dbbackup.sh文件内容
#!/bin/bash
# 备份文件地址
backupdir="/home/dduan"

# 备份文件后缀时间
time=`date +%Y_%m_%d_%H_%M_%S`

# 需要备份的数据库名称
db_name="monitor1"

# f文件名
db_file_name="${backupdir}/${db_name}${time}.sql.gz"

# mysql 用户名
# db_user = root

# mysql 密码
# db_password = mysql

# mysqldump 命令使用绝对路径
# mysqldump ${db_name} | gzip > ${backupdir}/${db_name}${time}.sql.gz 
mysqldump ${db_name} | gzip > ${db_file_name}

#echo "导出数据库文件" ${db_file_name}

# 删除7天之前的备份文件
# find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2 >&1

注意:备份脚本中直接写mysql用户名和密码执行脚本会抛出如下信息:

mysqldump: [Warning] Using a password on the command line interface can be insecure.

解决办法:安装第三步操作即可。

  1. 为了避免MySQL 用户名和密码暴露,需要在MySQL配置文件中添加用户名和密码,例如:Ubuntu在/etc/mysql/conf.d/mysqldump.cnf文件填写如下
root@dduan:/home/dduan# vi /etc/mysql/conf.d/mysqldump.cnf
[mysqldump]
quick
quote-names
max_allowed_packet      = 16M
# MySQL用户名
user=root
# MySQL密码
password=mysql
  1. 使用crontab创建定时任务
    为了更加明白添加定时任务是 5个*的作用,特附图一张,所谓“英雄不问出处,所以此图来历…”
    在这里插入图片描述

在以上各个字段中,还可以使用以下特殊字符:

  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

执行crontab -e添加* * * * * /home/dduan/dbbackup.sh命令,意思是每分钟备份一次数据库,可以根据实际情况自己设置设备时间

root@dduan:/home/dduan# root@dduan:/home/dduan# crontab -e
no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: * * * * * /home/dduan/dbbackup.sh
  1. 重启定时任务
root@dduan:/home/dduan# systemctl restart cron
Unity-Chan Toon Shader卡通渲染学习 2.0 (UTS2)是一款用于图像和视频的卡通着色器,旨在满足从事卡通着色 3DCG 动画的创作者的需求。二、从0-1复刻UTS21.漫反射UTS2的漫反射部分主要有三个层组成,分别是基本颜色、第一阴影色和第二阴影色,分别对应着美术理论中的白、灰、黑。 阅读详情

相关推荐

手把手教你用Python实现双三次插值(附OpenCV对比测试)

本文深入解析了双三次插值算法的数学原理,并提供了从零开始的Python实现教程。通过与OpenCV官方实现的对比测试,详细评估了不同插值算法(包括最邻近差值、双线性插值)在图像质量与计算性能上的差异,帮助开发者掌握高质量图像缩放的核心技术。

weixin_29310605的博客 296

liunx第一次创建定时任务时选择编辑器

liunx第一次用crontab创建定时任务时会出现让选择编辑器的选项: 1. /bin/nano <---- easiest 2. /usr/bin/vim.basic 3. /usr/bin/vim.tiny 4. /bin/ed 一般会选择vim编辑器:2. /usr/bin/vim.basic 如果要修改编辑器用 “select-editor...

xuefei0619的博客 665

嵌入式设备电量显示实战:MCP3421 ADC采集从原理到代码全解析(附避坑指南)

本文详细解析了嵌入式设备中MCP3421 ADC芯片在电量显示应用中的硬件设计、寄存器配置、I2C通信调试及低功耗优化策略。通过实战代码和避坑指南,帮助开发者实现高精度电量监测,特别针对I2C时序和分压电路设计等常见问题提供解决方案,适用于物联网终端和移动设备开发。

weixin_42525632的博客 386

使用crontab定时脚本备份Mysql数据

采用crontab定时备份Linux中的数据库文件【以压缩包的形式】到我们的Linux本地文件夹中,当数据库发生问题,可以及时备份修复。

风小猪的博客 1533

RK3576+IMX415 MIPI摄像头零拷贝显示系统

MIPI CSI-2是嵌入式视觉系统中主流的高速图像传感器接口标准,其核心价值在于低延迟、高带宽与硬件级DMA直通能力。基于V4L2子系统与DRM/KMS驱动栈,可构建从传感器RAW数据到帧缓冲区的零拷贝通路,显著降低CPU负载并提升实时性。该技术广泛应用于工业检测、边缘AI推理前数据接入及多路同步采集等场景。本文以Rockchip RK3576 SoC和索尼IMX415传感器为典型组合,详解MIPI物理层适配、内核驱动集成、GStreamer零拷贝管道搭建及systemd服务化部署,覆盖从硬件信号完整性到

weixin_36047538的博客 217

HFSS螺旋线圈的设计与仿真

undefined.全局变量在这里进行设置:Project/Project Properties, browse and setup the global variables.undefined.方程中的局部变量设置:HFSS/Design Properties, browse and setup the local variables。按照下图填写曲线的方程内容:fill the parameters according to the setup in the following picture。

johnboat的专栏 3845

总结:Linux系统上面定时备份mysql指定数据库的解决方案

crontab的使用非常简单,用户只需要编辑自己的crontab文件,就可以添加、修改或删除自己的定时任务。所以建议使用命令的绝对路径。crontab -u user -l :列出指定用户的所有定时任务。crontab -u user -r :删除指定用户的所有定时任务。crontab -u user -e :编辑指定用户的定时任务。crontab -l :列出当前用户的所有定时任务。crontab -r :删除当前用户的所有定时任务。crontab -e :编辑当前用户的定时任务。

weixin_48033662的博客 3680

【 Git学习记录(三)】推荐四款主流的Git代码托管平台 —— GitHub、GitLab、Gitee、Coding

了解过Git之后,作为一个程序猿最基本的,你还需要了解目前主流的在线代码托管平台,并至少选择其中一款在平时开发中使用。这里特别介绍以下四款: 国外平台 GitHub —— 全球最流行的代码托管平台 GitLab —— 基于git的仓库管理程序 国内平台 Gitee —— 开源中国旗下的代码托管平台 Coding —— 支持社交元素的代码托管平台 一. GitHub 链接地址:https://github.com/ GitHub目前是全球最流行的代码托管平台(别称:全球最大的同性交友.

JZevin的博客 6092

【Linux】定时备份数据库,通过使用Shell脚本自动备份数据库

在Linux环境下,使用Shell脚本自动备份数据库,需要用到 crontab 定时任务,以下是使用 mysqldump 方式对数据库备份

qq_25285531的博客 1457

理解ADC:为什么需要抗混叠滤波器?

本文介绍 ADC 的混叠现象,引出抗混叠滤波器,并介绍一种开关电容滤波器,它具有很小的增益过渡带。

疯狂的运放 5941

大漠多线程增强版:解决窗口消失、坐标错乱与识别卡死

多线程环境下窗口自动化面临的核心挑战,本质是GDI资源非线程安全、HWND生命周期失控及图像引擎状态污染三大底层问题。Windows GUI编程中,跨线程共享hDC、缓存失效的窗口句柄、OpenCV静态Mat等设计缺陷,导致FindPic失败、GetCursorPos异常、坐标跳变等典型故障。本方案通过线程局部存储(TLS)重构资源生命周期、WinEventHook+心跳探测构建实时窗口状态链、ABI对齐的多语言内存契约,实现稳定低延迟的并发UI识别与控制。适用于游戏多开监控、电商RPA、后台UI状态采集等

weixin_30561177的博客 477

【Linux基础操作】Linux下的常用命令

常用命令 一.查找 1.find: #find / -name xxx (在根目录下查找文件xxx,“/”表示在整个硬盘查找) 2.which: #which xxx (会输出文件xxx所在的路径) 二.创建(文件,文件夹) 1.mkdir: mkdir -p /tmp/dir1/dir2 创建一个目录树 mkdir -m 777 xxx 创建一个权限为777的...

Dekazhuo的博客 1427

第4章-上下文管理-对话历史记忆系统与窗口优化-《Agentic AI 智能体应用开发》

当上下文窗口接近极限时,需要对已有内容进行压缩。压缩不是简单的截断——你需要保留核心语义,去除冗余。# Python: 对话摘要压缩# 使用 Haiku 做摘要任务,成本最低"""将一段对话历史压缩为摘要"""system="你是一个对话摘要专家。请生成简洁但有信息量的摘要。",f"'用户'

AI天才研究院 246

Linux下crontab定时备份mysql数据库

Linux下crontab定时备份mysql数据库1、创建文件夹保存备份的sql文件2、添加备份脚本3、修改mysql配置文件4、通过crontab添加定时任务执行脚本5、验证是否定时备份6、资料补充 1、创建文件夹保存备份的sql文件 #任意切换一个目录下(我这里是根目录下) cd / #创建存储目录 mkdir backup 2、添加备份脚本 #创建脚本文件 vim backupdb.sh #在脚本文件里面添加这三行配置 db_name="xxx" #数据库名称 name="$

SSM1234的博客 1828

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

crontab 每天凌晨12点定时器_Linux下使用crontab实现mysql数据库自动备份

大家在做开发的时候,数据是很重要的,本文将介绍MySQL数据库如何在Linux系统上面进行自动备份创建备份目录选择/home目录,在该目录下创建backup文件夹来存放数据库备份文件;#cd /home#mkdir backup#cd backup创建备份Shell脚本创建shell脚本:#vi bkDatabaseName.sh输入以下内容:#!/bin/bashmysqldump -uuser...

weixin_40006965的博客 1584

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux 下 MySQL 数据库定时备份脚本与 Crontab 配置

本文介绍了MySQL数据库定时备份的自动化方案,通过Bash脚本实现多数据库备份、压缩存储和日志记录,并利用crontab设置定时任务。脚本包含配置区域、备份操作、日志记录和旧备份清理功能,支持设置保留天数。文章还提供了脚本授权、crontab配置方法及优化建议,如密码安全存储和邮件通知,帮助用户建立可靠的数据备份机制,确保业务连续性。

XMYX-0 1100

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

linux下使用crontab如何实现mysql数据库每天自动备份定时备份

直接上教程,基本上出现的问题都在下面了; 首先检查你的服务器是否安装了crontab,命令如下: 命令: crontab       如果提示-bash: crontab: command not found; // 表示你没有安装crontab; 安装crontab的两种方法: 1.如果你服务器联网了,可以直接使用下列命令安装(提示他有两个安装包): 命令:yum

KING 1652

linux下应用crontab对mysql数据库进行定时备份

linux下应用crontab对mysql数据库进行定时备份 @(编程) mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份。 我写了一个mysqlbackup.sh的脚本,此脚本按照日期在当前目录下创建一个文件夹,同时在此目录下备份一个文件。内容如下: #!/bin/bash #设置mysql备份目录 folder=/home/chzhao/mys...

107

linux系统下MySQL数据库crontab定时备份

摘要:本文介绍如何使用Linux的crontab定时任务实现MySQL数据库自动备份。主要内容包括:1)crontab的基本用法和语法格式,说明时间设置字段和常用命令;2)创建MySQL备份脚本mysqlbackup.sh,包含数据库连接、备份执行、日志记录和过期备份清理功能;3)配置mysql_backup.conf文件存储数据库连接参数;4)设置定时任务示例通过这套方案可实现MySQL数据库的自动化定时备份管理。

LUWEIDONG123456的博客 148

Crontab(定时任务)使用: Linux-Centos7 使用 crontab,定时备份Mysql数据库

定时备份MySQL数据库

dontYouWorry的博客 667

Linux shell脚本实现使用crontab定时备份mysql数据库实例

MySQL定时备份之使用Linux下的crontab定时备份实例1、查看磁盘空间情况2、创建备份目录3、创建备份Shell脚本4、添加可执行权限5、添加计划任务6、测试任务是否执行 1、查看磁盘空间情况 既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果! 存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件...

徊忆羽菲 412

Centos Linux crontab 定时任务 删除几天前的文件 MySQL数据库定时备份 定时清理Linux文件 自动清理一周前的数据

Centos Linux crontab 定时任务 删除几天前的文件 MySQL数据库定时备份 定时清理Linux文件 自动清理一周前的数据 需求背景是Linux服务器磁盘存储空间有限,服务器运行一段时间后磁盘积累较多log文件或其他html报告文件,由于报告文件碎片化且较多不易管理。希望能在Linux环境下实现定时自动清理7天前的文件,并实现MySQL数据库每天定时备份并定期删除14天前的备份户数。 简单即为crontabs 定时任务执行sh脚本内容,sh脚本自定义执行内容。

Benjamin 优快云博客 2776

CTF-BTly:多模型协同的实战型AI解题工具链

CTF(Capture The Flag)是网络安全领域核心实践形式,其题目涵盖Web渗透、二进制Pwn、逆向工程等多元技术方向。传统解题依赖人工经验与碎片化工具,效率瓶颈明显;而单一通用大模型又难以适配不同题型背后的计算范式差异——Web题本质是状态机遍历,Pwn题属于内存空间拓扑推理,逆向题则需完成混淆代码到业务逻辑的语义映射。CTF-BTly提出‘多模型+自主分析’架构,通过轻量预判路由至CodeLlama-7b、DeepSeek-Coder-32B、Qwen2.5-72B等专用模型,并融合pwnto

weixin_34239169的博客 362

linux下使用crontab定时备份MYSQL数据库的方法:

摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下:  第一步:在服务器上配置备份目录代码:  --------------------------------------------------------------------------------  mkdir /var/lib/mysqlbackup  cd...

weixin_34220834的博客 84

crontab 备份mysql数据库_linux下使用crontab定时备份MYSQL数据库的方法:

只需按照下面3步做,一切都在你的掌控之下:第一步:在服务器上配置备份目录代码:--------------------------------------------------------------------------------mkdir /var/lib/mysqlbackupcd /var/lib/mysqlbackup--------------------------------...

weixin_28882177的博客 257

Linux下使用crontab定时任务对MySQL数据库备份并将备份文件发送至邮箱

1.安装crontab 依次执行以下命令 yum -y install vixie-cron yum -y install crontabs crontab相关命令 //启动服务 service crond start //关闭服务 service crond stop //重启服务 service crond restart //重新载入配置 service crond reload //查看crontab服务状态 service crond status 设置开机自启动 chkc

◇◆花開不敗◆◇的博客 933
上一篇: 启动 idea 弹出“Failed to load JVM DLL\bin\server\jvm.dll”错误的解决方法
下一篇: nginx 访问 PHP 问题详解
dadeity
博客等级 码龄10年 1172粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dadeity

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值