Linux下实现MYSQL数据库的定时备份
发布时间 - 2025-07-19 00:00:00 点击率:次1、环境变量配置
为了使用MySQL自带的备份命令mysqldump,首先需要确保服务器上已正确安装MySQL数据库,并配置以下MySQL环境变量。
vim /etc/profile
在文件中追加一行,通常MySQL数据库的默认安装路径是/usr/local/mysql:
export PATH=$PATH:/usr/local/mysql/bin
保存并退出,然后刷新环境变量:
source /etc/profile
2、创建定时备份脚本
首先创建/data/db_bak目录来存储备份文件:
mkdir /data cd /data mkdir db_bak
接下来,新建一个名为bak_mysql.sh的定时备份脚本(默认设置为3天后删除):
vim bak_mysql.sh
脚本内容如下:
#!/bin/bash
mysqldump -uroot -p12345678 agp | gzip > /data/db_bak/agp$(date +%Y%m%d_%H%M%S).sql.gz
# 定时清理,只保留3天的数据库备份
find /data/db_bak/ -mtime +3 -name "*.sql.gz" -exec rm -rf {} \;保存并退出,然后为脚本添加可执行权限:
chmod u+x bak_mysql.sh
手动执行脚本以确保其能正常运行:
./bak_mysql.sh
3、定时任务设置
安装crontabs以设置定时任务:
yum install crontabs
编辑定时任务文件,添加MySQL定时备份脚本的执行:
vim /etc/crontab
内容如下,默认设置为每5分钟执行一次:
*/5 * * * * /data/db_bak/bak_mysql.sh #每隔五分钟执行一次 30 23 * * * /data/db_bak/bak_mysql.sh #每天23:30执行一次
保存定时任务配置并立即生效:
crontab /etc/crontab
执行效果:
4、Crontab参数说明
Crontab的时间格式为:分钟 小时 日 月 周 命令。具体解释如下:
- 第1列表示分钟,范围为1~59,每分钟用或/1表示。
- 第2列表示小时,范围为1~23(0表示0点)。
- 第3列表示日期,范围为1~31。
- 第4列表示月份,范围为1~12。
- 第5列表示星期,范围为0~6(0表示星期天)。
- 第6列是要运行的命令。
脚本定时执行的案例:
# 每天的30:23 执行 30 23 * * */data/db_bak/bak_mysql.sh # 每隔10分钟 执行 */10 * * * * /data/db_bak/bak_mysql.sh # 每周一的 17:00 执行 0 17 * * 1 /data/db_bak/bak_mysql.sh # 8:02,11:02,14:02,17:02,20:02 执行 2 8-20/3 * * * /opt/script/backup.sh
文件定时的案例:
# 每一小时重启nginx * */1 * * * /etc/init.d/nginx restart # 每晚的21:30重启 nginx 30 21 * * * /etc/init.d/nginx restart # 每月的4号与每周一到周三 的11点重启nginx 0 11 4 * mon-wed /etc/init.d/nginx restart # 每天18:00至23:00之间每隔30分钟重启nginx 0,30 18-23 * * * /etc/init.d/nginx restart
# mysql
# linux
# nginx
# 安装mysql
# 数据库
# 重启
# 每隔
# 设置为
# 一到
# 自带
# 五分钟
# 每分钟
# 可执行
# 正常运行
# 星期天
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
,网页ppt怎么弄成自己的ppt?
如何快速搭建高效简练网站?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
如何快速使用云服务器搭建个人网站?
如何将凡科建站内容保存为本地文件?
如何在IIS中新建站点并解决端口绑定冲突?
JavaScript常见的五种数组去重的方式
微信小程序制作网站有哪些,微信小程序需要做网站吗?
如何快速生成可下载的建站源码工具?
教你用AI润色文章,让你的文字表达更专业
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
nodejs redis 发布订阅机制封装实现方法及实例代码
浅谈redis在项目中的应用
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
javascript中闭包概念与用法深入理解
Swift中swift中的switch 语句
如何在Windows 2008云服务器安全搭建网站?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
微信小程序 scroll-view组件实现列表页实例代码
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
C++时间戳转换成日期时间的步骤和示例代码
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
实例解析angularjs的filter过滤器
如何用免费手机建站系统零基础打造专业网站?
轻松掌握MySQL函数中的last_insert_id()
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Laravel如何使用Livewire构建动态组件?(入门代码)
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Android滚轮选择时间控件使用详解
微信h5制作网站有哪些,免费微信H5页面制作工具?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
jQuery中的100个技巧汇总
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
LinuxShell函数封装方法_脚本复用设计思路【教程】
如何为不同团队 ID 动态生成多个非值班状态按钮
个人网站制作流程图片大全,个人网站如何注销?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
EditPlus中的正则表达式实战(6)
如何在自有机房高效搭建专业网站?
详解jQuery中基本的动画方法
韩国服务器如何优化跨境访问实现高效连接?
Laravel如何为API生成Swagger或OpenAPI文档
如何在阿里云高效完成企业建站全流程?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?


/data/db_bak/bak_mysql.sh
# 每隔10分钟 执行
*/10 * * * * /data/db_bak/bak_mysql.sh
# 每周一的 17:00 执行
0 17 * * 1 /data/db_bak/bak_mysql.sh
# 8:02,11:02,14:02,17:02,20:02 执行
2 8-20/3 * * * /opt/script/backup.sh